2
我正在使用ui-select,并希望在用户从输入中单击时(即ui-select-search上的模糊事件)选择列表中的第一个选项。目前,选择框保持打开状态,直到用户列出或做出选择。Angular ui-select在模糊上选择
我正在使用ui-select,并希望在用户从输入中单击时(即ui-select-search上的模糊事件)选择列表中的第一个选项。目前,选择框保持打开状态,直到用户列出或做出选择。Angular ui-select在模糊上选择
您可以添加其他指令到用户界面,选择元素,像这样:
<ui-select select-on-blur ...
然后,像这样实现的:(的“如果”从_handleDropDownSelection方法复制)
.directive('selectOnBlur', function() {
return {
require: 'uiSelect',
link: function(scope, elm, attrs, ctrl) {
elm.on('blur', 'input.ui-select-search', function(e) {
if(ctrl.open && (ctrl.tagging.isActivated || ctrl.activeIndex >= 0)){
ctrl.select(ctrl.items[ctrl.activeIndex]);
}
e.target.value = '';
});
}
};
})
(注意:这只适用于jquery,如果没有jquery,你需要以不同的方式选择输入)
为了进一步讨论,我尝试在本页上由tonyh发布的指令中包装元素: https://github.com/angular-ui/ui-select/issues/432#issuecomment-65490071 返回的事件似乎与通常被认为是模糊/焦点事件的事件相对应。 – Csizzle 2015-04-02 20:08:21
查看将函数绑定到与select相关联的.ui-select-search文本框,以便当它变模糊时,将选择第一个项目(它始终与用户输入相匹配,因为它是作为第一个元素创建的从刷新函数返回的数组)。在引擎盖下搜索api,然后选择第一个项目。 – Csizzle 2015-04-06 19:03:54
看看这个解决方案,它为我工作! [https://stackoverflow.com/a/45990035/3040886](https://stackoverflow.com/a/45990035/3040886) – 2017-08-31 21:09:50