ExtJS 3.4 - 有 xtype: 'displayfield' 显示更新的值吗?

Posted

技术标签:

【中文标题】ExtJS 3.4 - 有 xtype: \'displayfield\' 显示更新的值吗?【英文标题】:ExtJS 3.4 - Have xtype: 'displayfield' show updated value?ExtJS 3.4 - 有 xtype: 'displayfield' 显示更新的值吗? 【发布时间】:2015-09-07 15:22:38 【问题描述】:

所以我正在处理遗留代码。我有一个带有操作按钮的网格,当单击此操作按钮时,它必须使用户能够重命名某个值、更改另一个字段等...

我面临的问题是,当我单击编辑按钮时,我可以在控制台中看到它正在选择正确的数据并将其发送到表单面板,但表单面板一直显示第一个选择数据。 如何解决这个问题???

一些代码:

// the filed that needs to display the newly selected rows data
items:[
    
        xtype: 'displayfield',
        fieldLabel: 'Route',
        id: 'route',
        name: 'route'
    

...

Ext.getCmp('route').setValue( /** currently selected rows route **/ );

无论如何,它会继续显示它首先绑定的值,但是在控制台中我可以看到值发生了变化。我什至尝试在提交和取消方法之后重置表单。

【问题讨论】:

【参考方案1】:

也许您可以尝试使用 javascript 变量而不是 DOM/组件选择器。

var routeField = Ext.create(
    xtype: 'displayfield',
    fieldLabel: 'Route',
    name: 'route'
);

....

items:[routeField]

....

routeField.setValue('A1');

【讨论】:

您能否解释一下这将如何确保显示所选值?【参考方案2】:

点击取消按钮然后检查时销毁你的formPanel。

【讨论】:

【参考方案3】:

最后我结合了你的答案。 在单击操作按钮时,我创建了一个新表单,正如Joe 建议的那样,然后设置不同输入字段的值。 为了确保不保留任何数据,并且每个事件都会加载相应的行数据,我按照Mohit 的建议进行操作,并在提交/取消后销毁表单。所以每个按钮都会创建和销毁一个表单。

【讨论】:

你能分享一下对你有用的代码sn-p吗。我和你面临同样的问题 现阶段我无法创建小提琴或 plunker。留下你的邮箱,我会发给你sn-p。但原则是像 Joe 一样创建表单。然后在按钮事件中调用一个函数来呈现表单,发布数据,最后按照 Mohit 的建议销毁表单。

以上是关于ExtJS 3.4 - 有 xtype: 'displayfield' 显示更新的值吗?的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS 3.4 中未加载数据

Extjs 4.1 提交表单 - 如何在 xtype: displayfield 中获取值

Extjs 3.4 应用切换器

Extjs-3.4 复选框组指定列中的复选框

使用 extjs 3.4 panel + dataview + jsonstore 检索数据

具有多种 xtypes 的 ExtJS 5 网格小部件列