在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
答案 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更新了: