标题说明了很多。我将在下面为您提供示例:
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
中解决此问题?
答案 0 :(得分:1)
您可以按以下方式使用它:-
Ext.ComponentQuery.query('checkboxfield[name=' + possibleValues[index].name + ']')[0].setDisabled(true /*/false*/ );