Выпадающий список неправильно сохраняет выбранное значение в EXT JS 7.2

Я работаю с приложением Sencha EXT JS в версии 7.2, и мы обнаружили следующий сценарий:

  • Щелкните раскрывающийся список и выберите значение
  • Нажмите "Готово"
  • Щелкните раскрывающийся список и выберите другое значение
  • Нажмите "отменить"
  • Щелкните раскрывающийся список
  • Убедитесь, что выбрано недопустимое значение

Чтобы воспроизвести такое поведение, есть скрипка sencha:
https://fiddle.sencha.com/#view/editor&fiddle/3704

Спасибо!

2 ответа

Похоже, это стандартная функция (не ошибка);) В любом случае, чтобы исправить / изменить поведение для всех полей со списком, используйте следующее переопределение:

Ext.define('overrides.field.ComboBox', {
    override: 'Ext.field.ComboBox',
    onExpandTap: function() {
        this.getPicker().setValue(this.getValue());
        this.callParent();
    }
});

Чтобы сделать то же самое для одного поля со списком:

{
    picker: 'edge',
    xtype: 'combobox',
    valueField: 'id',
    displayField: 'description',
    queryMode: 'local',
    store: 'optionsStore',
    listeners: {
        // Add this..
        expand: function(field) {
            field.getPicker().setValue(field.getValue());
        }
    }
}

В нашем сценарии проблема заключается в том, что мы обновили страницу. Используя ваше предложение переопределения, только когда я открыл во второй раз, значение выбрано правильно.

Итак, мы используем следующее переопределение, чтобы исправить это поведение:

Ext.define('Ext.override.field.Select', {
    override: 'Ext.field.Select',
    updatePickerValue: function (picker, value) {
        if (!value) value = this.getValue();
        picker.setValue(value);
    }
});

Это почти то же самое, но мы переопределяем метод updatePickerValue.

Спасибо за помощь!

  • Ренато Карвалью
Другие вопросы по тегам