ExtJS-在组合更改时禁用/启用元素



标题说明了很多。我将在下面给您举一个例子:

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,
});
});
}

变量'possible_values'包含'if'块中定义的所有可能的复选框。我想根据用户在组合框中选择的选项禁用或启用复选框(选择下拉选项(。

运行以下代码后,我可以在控制台中看到禁用的属性已更改,但它不适用于视图。

如何在ExtJS中解决此问题?

您可以像下面这样使用它:-

Ext.ComponentQuery.query('checkboxfield[name=' + possibleValues[index].name + ']')[0].setDisabled(true /*/false*/ );

最新更新