我的数据为:
selected : { id : <string,a task id>, description = <string> };
tasks = [ { id : 'a', value : 'Apple' }, { id : 'b', value : 'Ball' },
// more items;
];
现在我想使用select2如变量bind到select2应该只包含id,而不是整个对象
所以如果我选择Ball,selected
应为{ id : 'b', description : 'some_desc' }
<ui-select ng-model="selected.id">
<ui-select-match placeholder="select name ">{{ $select.selected.value }}</ui-select-match>
<ui-select-choices repeat="type in tasks | filter: $select.search">{{type.value}}</ui-select-choices>
</ui-select>
如何实现只将字符串作为选定值而不是整个对象。
编辑:这是示例plunker http://plnkr.co/edit/onmP7FKIa7MpXsRnH025?p=preview
其中selected.sel是一个对象而不是一个字符串。 我想selected.sel应该是一个字符串,始终是conntry的代码
答案 0 :(得分:1)
只需在你的重复中使用:
country.code as country in countries
应该这样做。
来自example 的
<ui-select ng-model="selected.sel">
<ui-select-match placeholder="Select or search a country...">
{{$select.selected.name}}
</ui-select-match>
<ui-select-choices repeat="country.code as country in countries | filter: $select.search">
<span ng-bind-html="country.name | highlight: $select.search"></span>
<small ng-bind-html="country.code | highlight: $select.search"></small>
</ui-select-choices>
</ui-select>
如果没有,你应该切换到新的ui-select指令,因为select2将会停止。