Я столкнулся с этой проблемой также.
В комбинированном поле всегда восстанавливается выбранное ранее значение.
Это не так много восстановления значения, как пользователь его повторный выбор после он удаляет значение. Т.е.: с forceSelection: true
combobox настаивает на отказе от своего меню, это означает, что когда пользователь возвращается в выпадающее поле для удаления элемента, меню combobox опускается вниз, когда элемент, который был изначально выбран выделенным, затем удаляет значение в combobox и вкладки к следующему, combobox смотрит, чтобы увидеть, какой элемент выделен в выпадающем списке и заполняет его в поле, вуаля, повторно выбранный.
Вместо этого, если пользователь удаляет значение, а затем нажимает клавишу ESC, чтобы закрыть комбо выпадающее меню и затем вкладки к следующему значению не заполнит себя в.
Я полагаю, что это функция, позволяющая управлять только клавиатурой, чтобы вам не нужно было щелкнуть, чтобы выпустить меню.
К счастью, моим пользователям не потребовалось много времени, чтобы понять это и использовать клавишу ESC. Я также добавил конфигурацию preventMark: true
для обработки сообщения об ошибке, когда это произошло.
Я полагаю, что если вы действительно не можете этого сделать, вы можете добавить слушателя к change
или даже к событию validitychange
, который проверяет, является ли поле пустым, а затем сбрасывает меню, если оно есть. Это должно препятствовать повторному выбору при переходе в другое поле таким же образом, как и закрытие клавиши ESC.
Хороший! Это самое элегантное решение, к которому я пришел так далеко. –
Вы также можете использовать параметры события - 'addListener ('change', function (me, newVal) {if (newVal === null) {me.reset();} }); ' – phatskat
Примечание: если ваш ComboBox имеет' multiSelect: true', не делайте 'newValue === null', вместо' newValue.length === 0' вместо этого (потому что это будет, очевидно, массив выборов) , –