0
我有以下HTML:如何预选择值
<div ng-controller="CreateSpreadsheetCtrl as csCtrl" ng-init="csCtrl.init()">
<select multiple="multiple" style="height:100px;" class="form-control"
ng-model="csCtrl.Template.BusinessUnitMappings"
ng-options="department as department.LocalizedName for department in csCtrl.DepartmentMasters">
</select>
</div>
的CreateSpreadsheetCtrl.init()内,我们加载称为数组“DepartmentMasters”(csCtrl.DepartmentMasters)其中包含对象列表(例如{Id:1,Name:“Department 1”},{Id:2,Name:“Department 2”})。
同样在init()方法中,我们加载这个“csCtrl.Template”对象,它有一个名为“BusinessUnitMappings”(csCtrl.Template.BusinessUnitMappings)的属性,它是一个DepartmentMaster对象数组。
通过上面的代码,它可以正确地绑定到模型,并且当您更改选择时,csCtrl.Template.BusinessUnitMappings被正确绑定。
但是,当csCtrl.Template.BusinessUnitMappings预先加载了现有的对象数组时,它不会在页面初始加载时在UI中选择它。
你可以通过使用'通过department.Id'跟踪解决您的问题,但它有害,因为你使用'as'语法.. –
@PankajParkar谢谢你的repsonse。你能否详细说明你的意思是“但它用作语法时有害”? – thiag0
看看文档链接[这里](https://docs.angularjs.org/api/ng/directive/ngOptions#-select-as-) –