2

私は ui-select を使用しており、ユーザーが入力から離れてクリックしたときにリストの最初のオプションを選択したいと考えています (つまり、ui-select-search のぼかしイベント)。現在、選択ボックスは、ユーザーがタブで移動するか、選択を行うまで開いたままになります。

4

1 に答える 1

7

次のように、別のディレクティブを ui-select 要素に追加できます。

<ui-select select-on-blur ... 

次に、次のように実装します: (「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 = '';
            });
        }
    };
})

(注: これは jquery でのみ機能します。jquery を使用しない場合は、別の方法で入力を選択する必要があります)

于 2015-08-11T16:45:31.770 に答える