标题说明了很多内容。我将在下面向您传递一个示例:
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” block 中定义的所有可能的复选框。我想根据用户在组合中选择的选项(选择选项下拉列表)来禁用或启用复选框。
运行如下代码后,我可以在控制台中看到禁用属性已更改,但它不适用于 View 。
如何在ExtJS
中解决这个问题?
最佳答案
您可以像下面这样使用它:-
Ext.ComponentQuery.query('checkboxfield[name=' + possibleValues[index].name + ']')[0].setDisabled(true /*/false*/ );
关于javascript - ExtJS - 禁用/启用组合更改中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53777586/