extjs 我们是否可以避免在模型中设置额外的字段?

cxfofazt  于 2022-11-04  发布在  其他
关注(0)|答案(1)|浏览(124)
Ext.define('User', {
  extend: 'Ext.data.Model',
  fields: [
    {name: 'name',  type: 'string'}
  ]
});
Ext.create('User', { 'name' : 'A', 'createdBy': 'Random' });

EXTJS 4.1在创建记录时忽略“createdBy”字段。而在7.4中,它也保存了额外的(未配置的)字段。
7.4中的输出

{
  "name": "A",
  "createdBy: "Random"
}

我们可以通过任何配置来避免这种情况(在记录数据中有'createdBy')吗?

qnakjoqk

qnakjoqk1#

在翻阅了许多版本的发行说明后,我发现了这个。
迁移指南- EXTJS 4.2到5.0
它提到了以下覆盖,这将恢复记录创建的行为。

Ext.define('App.overrides.data.Model', {
    override: 'Ext.data.Model',
    constructor: function (data) {
        this.raw = Ext.apply({}, data);
        this.callParent(arguments);
    }
});

我对动态字段创建没有问题,但是如果他们将其作为可配置行为引入,或者在Writer中给予类似字段Map到进程,情况会更好。

相关问题