extjs - 根据记录禁用表单元素的简洁方法

标签 extjs

我的记录具有 bool 值(例如“可编辑”),并且应根据这些值禁用某些表单字段。

是否有比具有更改监听器的隐藏字段更干净的方法,可以根据 newValue 逐一禁用表单字段?

这就是我所拥有的:

xtype: 'hiddenfield',
name: 'Editable',
listeners:{
    change:function(field, newValue) {
        field.nextSibling('[name=Name]').setDisabled(!newValue);
        field.nextSibling('[name=Gender]').setDisabled(!newValue);
        ...
    }

但是现在记录中有八个不同的 bool 值,并且一些表单字段基于其中三个而被禁用,我正在寻找一种更方便的方法,我可以以某种方式直接在字段中编码。

最佳答案

您可以像这样更新表单 View 模型数据

form.getViewModel().set('记录', 记录)

并绑定(bind)字段值并像这样禁用

{
    xtype:'textfield',
    name: 'Name',
    value: '',
    bind: {
        disabled: '{!record.Editable}',
        value: '{record.Name}'
    }
}

检查this update为您摆弄数据绑定(bind)。

关于extjs - 根据记录禁用表单元素的简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44062979/

相关文章:

extjs - 如何用新内容替换面板的内容?

javascript - 如何显示与 Extjs 4 的链接?

ExtJS 4.2 文件字段多重上传

json - extjs使用MVC从json文件加载树

javascript - 如何告诉商店加载了哪个页面

Extjs Grid - 如何在渲染器函数中获取列的宽度

ExtJs 模型代理与商店代理

extjs - 记录以编程方式添加到 ExtJS 中的网格后切换单元格编辑器

extjs - 如何使用 extjs 4.0 beta 3 制作 "MVC Application"?

javascript - 如何在extjs中销毁Panel