是否可以使用单选,但将模型作为数组

时间:2016-06-02 21:53:03

标签: angularjs angular-ui select2

我正在使用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获取阵列模型吗?

1 个答案:

答案 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>