Значение по умолчанию для поля со списком ExtJs без использования emptyText

Я использую ExtJs 4, и в моем веб-приложении есть поле со списком. Раньше я устанавливал значение по умолчанию для поля со списком, используя emptyText. Это работает просто отлично. Но есть ли альтернативный способ установить значение по умолчанию для того же самого?

Я рассмотрел разные вопросы здесь, на SO, и попробовал следующее:

Ext.getCmp('myComboBoxID').setValue("myValue");

Однако, похоже, это не работает. Я также пробовал простой атрибут value безрезультатно. Как я могу установить значение по умолчанию, отличное от использования emptyText?

Кроме того, когда значение установлено с помощью emptyText, оно отображается серым цветом (что плохо видно), мне было интересно, можно ли работать с непрозрачностью окна выбора ExtJs?

Обновление: я использовал Ext.getCmp('myComboBoxID').setRawValue("myValue"); для установки значения, и это сработало. В чем разница между setValue() и setRawValue()?


person Anjan Baradwaj    schedule 21.11.2013    source источник
comment
ComboBox setValue переопределяет метод в событии Ext.form.field.Field' which fires the change`. setRawValue не запускает событие. Я не проверял, но полагаю, что setRawValue не подтверждает, что значение находится в store.   -  person Nabarun    schedule 28.01.2014


Ответы (3)


Вам нужно указать идентификатор для метода getCmp. Попробуйте следующее.

Ext.getCmp('#myComboBoxID').setValue("myValue");

person Nabarun    schedule 22.11.2013

Я использовал Ext.getCmp('myComboBoxID').setRawValue("myValue"); для установки значения, и это сработало.

person Anjan Baradwaj    schedule 25.11.2013

Хранилище должно быть загружено до вызова setValue и использования идентификатора записи, которую вы хотите выбрать. Существует событие загрузки, которое вы можете прослушивать, если значения загружаются с сервера. emptyText предназначен не для значений по умолчанию, а для того, чтобы помочь пользователю понять, что следует делать с полем (например, «Выбрать состояние» из списка состояний)

person g3k0    schedule 22.11.2013