我有一个md-select设置如下:
<md-select placeholder="Category" ng-model="current.Category" flex >
<md-option ng-repeat="item in categories" ng-value="{{item}}">{{item.Name}}</md-option>
</md-select>@scope.categories值是
[
{
"Name":"Commercial & Industrial",
"ParentId":null,
"Categories":[
{
"Name":"Deceptive Marketing",
"ParentId":19,
"Categories":[
],
"Id":24,
"ModifiedDate":"2015-08-06T07:49:53.0489545",
"CreatedDate":"2015-08-06T15:49:51.707"
},
{
"Name":"Aggressive Agents",
"ParentId":19,
"Categories":[
],
"Id":25,
"ModifiedDate":"2015-08-06T07:50:10.0026497",
"CreatedDate":"2015-08-06T15:50:08.63"
}
],
"Id":19,
"ModifiedDate":"08/06/2015 @ 7:49AM",
"CreatedDate":"08/06/2015 @ 3:49PM"
},
{
"Name":"Competitive Supply",
"ParentId":null,
"Categories":[
{
"Name":"Security Deposit",
"ParentId":20,
"Categories":[
],
"Id":21,
"ModifiedDate":"2015-08-06T07:49:30.3966895",
"CreatedDate":"2015-08-06T15:49:25.8"
},
{
"Name":"Meter",
"ParentId":20,
"Categories":[
],
"Id":22,
"ModifiedDate":"2015-08-06T07:49:34.6571155",
"CreatedDate":"2015-08-06T15:49:33.3"
},
{
"Name":"Bill",
"ParentId":20,
"Categories":[
],
"Id":23,
"ModifiedDate":"2015-08-06T07:49:41.7268224",
"CreatedDate":"2015-08-06T15:49:40.357"
}
],
"Id":20,
"ModifiedDate":"08/06/2015 @ 7:49AM",
"CreatedDate":"08/06/2015 @ 3:49PM"
}
]md-select运行得很好。但我不知道的是如何设置选择值。当我尝试将模型current.Category设置为来自$scope.categories的一个值时,它不会被设置。
发布于 2015-08-07 16:28:28
文档并不是明确的,但是您应该使用ng-selected。我创建了一个码页来说明,但基本上:
<md-option ng-repeat="(index,item) in categories" ng-value="{{item}}"
ng-selected="index == 1">
{{item.Name}}
</md-option>这将选择第二个类别(类别数组中的索引1)。
发布于 2016-06-15 10:03:37
您需要使用ng-model-options,trackBy并选择一个唯一的模型字段作为选择器:
<md-select placeholder="Category"
ng-model="current.Category"
ng-model-options="{trackBy: '$value.Id' }" // <-- unique field 'Id'
flex >
<md-option
ng-repeat="item in categories"
ng-value="{{item}}">{{item.Name}}</md-option>
</md-select>这个解是用角材料的正式文件描述的。
发布于 2016-05-31 07:37:11
为了设置select的默认值,可以使用ng选定的和ng模型。
<md-select ng-model="vmIdPage.number">
<md-option ng-value="mod" ng-repeat="mod in vmIdPage.initObject.listeModaliteMisePlace" ng-selected="{{ mod.id === vmIdPage.number.id ? 'true' : 'false' }}">
{{mod.libelle}}
</md-option>
</md-select> https://stackoverflow.com/questions/31881754
复制相似问题