ui-select鼠标选择不适用于tagging-label = false

时间:2016-02-22 11:24:43

标签: angularjs ui-select

在Angular ui-select中使用tagging-label='false'时,无法通过鼠标单击进行选择。我测试了版本angular-ui-select - 0.13.2,0.14.1和最新的0.14.9。我的要求是我可以通过键盘输入任何值,就像文本框一样,我可以从鼠标下拉列表中选择任何现有选项。

 <ui-select tagging="newTag" tagging-label="false" ng-model="selectedCountry" theme="bootstrap" style="width: 300px;" title="Choose a country">
      <ui-select-match placeholder="Select country...">{{$select.selected}}</ui-select-match>
      <ui-select-choices repeat="country in countries | filter:$select.search">
      {{country}}
      </ui-select-choices>
 </ui-select>

这是Plnkr - http://plnkr.co/edit/UGbBq1fSMZK12tpa2wK5?p=preview

1 个答案:

答案 0 :(得分:0)

我认为问题出在tagging="newTag"属性中,需要定义$scope.newtag()函数(但控制器中缺少它)。

它可以改变代码,如下所示:

  <ui-select ng-model="model.selectedCountry" tagging-label="false" theme="bootstrap" ng-disabled="disabled" style="width: 300px;" title="Choose a country">
    <ui-select-match placeholder="Select country...">{{$select.selected}}</ui-select-match>
    <ui-select-choices repeat="country in countries | filter:$select.search">
      {{country}}
    </ui-select-choices>
  </ui-select>

另一件事是由于scope inheritance in Angular/JS(所有ui-select示例都使用这种方式)将selectedCountry包装在对象中是必要的:

 $scope.model = {selectedCountry: ''};

plnkr更新了:

http://plnkr.co/edit/wqyTifycfTmnnsn22Be9?p=preview