我在将预选值显示为选择元素中的选定选项时遇到问题。代码如下
<select ng-model="data.company" ng-options="company as company.name for company in companies"></select>
$scope.companies =[{
id:1,
name:"Company 1"
},
{
id:2,
name:"Company 2"
}];
$scope.data = {
company:{
id:2,
name:"Company 2"
}
}
问题是,当我进入该部分时,选择会默认给我一个空白选项,而不是显示“Company 2”。我做错了什么?
最佳答案
您需要使用track by
在这种情况下,因为您直接将对象值分配给 ng-model 。在这种情况下,当您将对象直接绑定(bind)到 data.company
(ng-model) 时,通过表达式检查 ng-model
中的 company.id 与每个companies
元素 id。如果任何一个匹配,它就会预先选择该输入。
标记
<select ng-model="data.company"
ng-options="company as company.name for company in companies track by company.id">
</select>
关于javascript - angularjs ng-option 空白选项改为预选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34276191/