javascript - 仅当模型中有一个项目时才在 AgularJS 中选择一个选项
问题描述
我对 AngularJS 很陌生,我在实现这个下拉列表的逻辑时遇到了麻烦——我只想在模型中有一个成员时选择模型中的第一个成员。我不知道在其他情况下选择默认选项是否会使问题复杂化。
<div class="form-group" style="margin-bottom:1rem">
<label class="form-label">Member name</label>
<small>
<i>
These are the members who have cover on the <u>date selected</u> above.
</i>
</small>
<div class="input-group mt-1">
<select ng-model="model.treatment.member" ng-change="ctrl.loadBenefits()" class="select" id="claimMemberName" required>
<option value="" selected="selected">{{model.members.length ? 'Select member' : 'Enter date of visit first'}}</option>
<option ng-repeat="m in model.members" value="{{m.memberId}}">{{m.memberName}}</option>
</select>
</div>
</div>
执行此操作的最佳方法是 Select 上的 ng-init 还是在将模型填充到视图中的选项中调用的函数?
我已经习惯了 Razor 来操纵模型,老实说,任何帮助都会成为救命稻草,被表面上看起来很简单的东西难倒从来都不是一件有趣的事情!
解决方案
在我看来,这样做的地方是在您加载/设置您的成员列表之后。您可以添加一个 if 语句来检查长度并相应地设置模型。
if($scope.model.members.length == 1){
$scope.model.treatment.member = $scope.model.members[0].memberId;
}
推荐阅读
- python - 验证列是否在数据框中逐行添加一天
- cmake - 如何在 Cmake 中设置编译器优先级
- testing - JMeter 远程测试问题
- twilio - Twilio 手机号码验证 - VerificationCheck 未找到 php
- c# - 在以下场景中,如何将自定义对象映射到相应的任务?
- excel - 仅使用 vba 的索引匹配过滤数据
- javascript - 如何防止反应表排序和搜索重置
- neo4j - 计算 Neo4j 中每个元素的列表值的平均值
- android - 如果可能的话,填充空格的动态 TextView
- android - 发现无效的 Gradle JDK 配置。打开 Gradle 设置