Как добавить пустой элемент в выпадающий список ExtJS?
-
29-10-2019 - |
Вопрос
Я хочу добавить пустой элемент (отображаемое значение пусто, высота элемента остается нормальной) в Ext.form.ComboBox.Я сослался на две ссылки ниже, чтобы настроить мое поле со списком, но он по-прежнему не отображает пустой элемент:
- http://www.ashlux.com/wordpress/2009/09/04/handling-empty-options-with-ext-js-combo-box/
- http://www.sencha.com/forum/showthread.php?52340-How-to-add-a-quot-blank-quot-entry-to-a-ComboBox
Вот мой код:
общийДанные хранилища combobox будут загружены после запроса Ajax (т.е. 3 элемента в элементах данных).И в поле со списком всего 3 элемента (а не 4, как я ожидал). Ты хоть представляешь мою проблему ?! Большое вам спасибо!
Решение
Поскольку вы добавляете значения поля со списком позже, почему бы просто не инициализировать хранилище одним пустым значением:
общийПозже, когда вы создадите код кода, этот пустой код все еще будет там.
Пришлось вернуться к этому сегодня (15 апреля 2017 г.) для ExtJS 4.2:
Самый простой способ - включить пустую строку в магазин, как указано выше, это также можно сделать с помощью прослушивателя загрузки в магазине:
общий Затем добавьте конфигурацию store.add(theRestOfThem)
в поле со списком с помощью tpl
после поля отображения:
(поле отображения - это кодовый кодовый код в случае OP)
Другие советы
Вы можете добавить «пустую» запись в начало:
общий});
при инициализации компонента вы можете сделать это (на контроллере):
общийо функции заполнения:
общийВот как мы можем добавить пустое поле в поле со списком
В java Map или любой другой коллекции поместите ключевое значение, подобное этому
общийВ js файле это должно быть так:
Слушатель для поля со списком
общийВ Ext 4.2.1 (возможно, других) просто добавьте в конфигурацию combobox:
общий Если в магазине используются встроенные данные, то даже код store.load
не сработает.Может быть, есть лучшее решение, но в итоге я вставил записи магазина в combobox.render
: