我正在使用angular-ui的select2组件,我希望我的模型具有一致的值,无论是使用单选还是多选。
目前如果我使用单一选择,模型只是设置为一个值,当使用多选时,模型是一个值数组。
IE单选:(非数组模型)
<ui-select ng-model="model.value" theme="bootstrap">
<ui-select-match>{{$select.selected.title}}</ui-select-match>
<ui-select-choices repeat="choice.title as choice in choices | filter: $select.search">
<div ng-bind-html="choice.title | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
或多:(数组模型)
<ui-select multiple ng-model="model.value" theme="bootstrap">
<ui-select-match>{{$item.title}}</ui-select-match>
<ui-select-choices repeat="choice.title as choice in choices">
<div ng-bind-html="choice.title"></div>
</ui-select-choices>
</ui-select>
我尝试使用多个,并添加了length =“1”属性,但仍然会将多选样式应用于选择框。
即使单次选择,也可以从select2获取阵列模型吗?
答案 0 :(得分:2)
如何通过更改ng-model =&#34; model.value&#34;将模型设置为数组中的第一个位置?到ng-model =&#34; model.value [0]&#34;?我认为应该有用。如果没有,请尝试首先将控制器中的模型初始化为空数组。 ($ scope.model = [];)
<ui-select ng-model="model.value[0]" theme="bootstrap">
<ui-select-match>{{$select.selected.title}}</ui-select-match>
<ui-select-choices repeat="choice.title as choice in choices | filter: $select.search">
<div ng-bind-html="choice.title | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>