Angular ui-select选择模糊

Csi*_*zle 2 blur angularjs ui-select

我正在使用ui-select,并希望在用户点击输入时选择列表中的第一个选项(即ui-select-search上的模糊事件).目前,选择框保持打开状态,直到用户选中或进行选择.

Rya*_*lva 6

您可以向ui-select元素添加另一个指令,如下所示:

<ui-select select-on-blur ... 
Run Code Online (Sandbox Code Playgroud)

然后像这样实现:('if'是从_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 = '';
            });
        }
    };
})
Run Code Online (Sandbox Code Playgroud)

(注意:这只适用于jquery,没有jquery你需要以不同的方式选择输入)