【问题标题】:Create record in ExtJs 6 vs Previous Versions在 ExtJs 6 与以前的版本中创建记录
【发布时间】:2015-12-21 14:34:55
【问题描述】:

我注意到在 ExtJs 6 中创建记录时的结果与旧版本不同。

我已经使用 chrome 在控制台中运行了以下命令。我定义了以下模型。

 Ext.define('mymodel',{
   extend :'Ext.data.Model',
   fields : [
     {name:'firstname'}
  ]
});

然后我使用这个模型创建一个记录。

 var rec = Ext.create(mymodel,{
     firstname: 'Peter',   
     lastname: 'Venkman'
 });

当我从这条记录中获取数据时

rec.getData();

结果是

ExtJs 6

Object {firstname: "Peter", lastname: "Venkman", id: "mymodel-1"}

ExtJs 4

Object {firstname: "Peter", id: undefined}

在 ExtJs 6 中

lastname 

正在创建,尽管它没有在模型中定义。有谁知道这是为什么?我在文档中找不到的一些变化。

【问题讨论】:

  • 只是为了澄清:从 ExtJS 5 开始就是这样。

标签: extjs extjs4 extjs5 extjs6


【解决方案1】:

What’s New in Ext JS 5

模型构造函数不再从数据对象中提取字段 它是给定的,而是采用它并根据 您定义的字段中的转换器和默认值。这表示 您不再需要定义要保留的每个字段 记录。只要服务器以想要的格式发送数据, 这些属性将保留在记录的数据对象上。这些 假定未声明的字段是持久的,因此更改将是 跟踪并包含在保存回服务器中。

【讨论】:

  • 基本上问题不在于id。我没有提到这一点。我想知道为什么在 extjs6 中创建 lastname,因为它没有在模型中定义
猜你喜欢
  • 2015-07-03
  • 2020-02-11
  • 1970-01-01
  • 2023-04-01
  • 2012-04-05
  • 1970-01-01
  • 1970-01-01
  • 2018-11-07
  • 2012-12-21
相关资源
最近更新 更多