javascript - ExtJS - 禁用/启用组合更改中的元素

标签 javascript 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” block 中定义的所有可能的复选框。我想根据用户在组合中选择的选项(选择选项下拉列表)来禁用或启用复选框。

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

如何在ExtJS中解决这个问题?

最佳答案

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

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

关于javascript - ExtJS - 禁用/启用组合更改中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53777586/

相关文章:

javascript - 根据页面/屏幕高度调整大小

extjs - 使用 ExtJS 4.x 捕获 CTRL+S 跨浏览器并避免浏览器操作

javascript - extjs3.4 gridpanel rowselect 事件不起作用

Javascript 使用非捕获组获取查询字符串值

javascript - 从 File 对象中的数据播放视频

javascript - Controller 作为语法 Angularjs 不起作用

javascript - Sencha Touch 2.x - 如何将自定义 View 加载到选项卡面板中?使用 xtype?

javascript - Babel 没有转译 npm link/symlink 包源代码

javascript - 执行函数时返回字符串

javascript - 分机JS : How to pass geolocation values to url?