javascript - 网格 Ext JS 中没有禁用行编辑?

标签 javascript extjs

即使 isAdmin 值为 false,行编辑仍处于启用状态。我认为 View 中的绑定(bind)属性不起作用。如果有的话可以提供帮助。谢谢。 View 中的代码:

var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
clicksToEdit: 2,
pluginId: 'rowEditor',
listeners: {
    cancelEdit: 'onCancelClick',
    edit: 'onEditClick'
},
bind: {
    disabled: '{!isAdmin}'
}});

Controller 中的另一部分代码:

 init: function () {
    var access = (user_Access[0].Admin == 'True');
    if (access) {
        var vm = this.getViewModel();
        vm.set("isAdmin", access);
    }
}

最佳答案

在您的 View 模型中,您应该使用 View 模型数据和 formulas为了实现这一点并根据 Sencha 最佳实践:

viewModel: {
    data: {
        isAdmin: false
    },
    formulas: {
        disabled: function(get) {
            return get('isAdmin') ? false : true
        }
    }
}
...
bind: {
    disabled: '{disabled}'
}

关于javascript - 网格 Ext JS 中没有禁用行编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52011411/

相关文章:

javascript - 如何在 IE9 及更低版本中下载由 jszip.js 创建的 zip 文件,而不使用基于 flash 的 downlodify

javascript - 如何将字段添加到现有面板中?

javascript - 单击 react js中的链接调用函数

javascript - 在javascript问题中解析日期

javascript - 可扩展属性设置为 true 并且没有子节点的树节点不会呈现加号图标

extjs - Ext JS 5 数据绑定(bind)组合框

javascript - ExtJs4 网格不显示响应中的数据

javascript - 如何将 Angular 代码放在单独的文件中

javascript - div继承宽高并滚动

Javascript 将元素 ID 属性作为参数传递