请参阅下面的代码,当通过键入"Fr"从输入中选择一个选项时,所有以法国开头的国家都会出现,但在选择输入后,输入字段不会被清除
<ui-select multiple
ng-model="quote.targetLanguage"
reset-search-input="true"
theme="bootstrap"
ng-disabled="disabled"
close-on-select="false"
style="width: 800px;">
<ui-select-match placeholder="Select person...">
{{$item.language}}
</ui-select-match>
<ui-select-choices repeat="lang in controllersData.languages | filter: $select.search">
<div ng-bind-html="lang.language | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
0.11.2版本中仍然存在此问题。
正如Dayan在评论中所建议的,在on-select
事件中重置搜索可以解决问题:
<ui-select multiple ng-model="numbers" on-select="numberSelected($select)">
...
</ui-select>
然后在您的控制器/指令中:
scope.numberSelected = function ($select) {
// clear search text
$select.search = '';
};
您可以使用uiSelectConfig常量在全局级别设置它,如:
app.config(function(uiSelectConfig) {
uiSelectConfig.resetSearchInput = true;
});
它对我有效。