ExtJS - отключить / включить элементы при изменении комбо - PullRequest
0 голосов
/ 14 декабря 2018

Название многое говорит об этом.Я передам вам пример ниже:

let scalesField = {
    xtype: 'combo',
    name: property.name + 'scale',
    listeners: {
        change: function (combo, selectedValue) {
            // here would be some logic
            // Tried with:
            Ext.Array.each(possibleValues, function (single, index) {
                possibleValues[index].disabled = true;
                if (possibleValues[index].scale_id === selectedValue) {
                    possibleValues[index].disabled = false;
                }
            });
        }
    }
};

if (possible_values.length > 0) {
    Ext.Array.each(possible_values, function (single, index) {
        fields.push({
            xtype: 'checkboxfield',
            fieldLabel: possible_values[index].name,
            name: possible_values[index].name,
            labelWidth: 100,
        });
    });
}

Переменная 'возможные_значения' содержит все возможные флажки, которые определены в блоке 'если'.Я хочу отключить или включить флажки в зависимости от того, какую опцию пользователь выбирает в поле со списком (выберите опцию выпадающего списка).

После запуска кода, как показано ниже, я вижу в консоли, что свойство отключено, но оно не относится кview.

Как решить эту проблему в ExtJS?

1 Ответ

0 голосов
/ 14 декабря 2018

Вы можете использовать его, как показано ниже: -

Ext.ComponentQuery.query('checkboxfield[name=' + possibleValues[index].name + ']')[0].setDisabled(true /*/false*/ );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...