javascript - 将属性从嵌套模型映射到 extjs 表单 View

标签 javascript json extjs extjs4

我有一个JSON,例如:

{
 "id": "d258832c-c454-4961-9013-40ab222930d9",
 "name": "CDS_BU",
 "description": null,
 "parentId": null,
 "group": {
   "id": "ef01eb78-2ae0-43ed-844e-57a825b046eb",
   "name": "GroupForCDSBU2"
 }
}

我有一个 form 和该对象的 View ,但加载时无法在表单中显示 group.name 的当前值。

当前表单从 Ext.form.Panel 扩展,我使用 initComponent 将值分配给表单。即:

    me.items = [{
        name:       'name',
        xtype:      'textfield',
        fieldLabel: "Name"
    }, {
        name:       'description',
        xtype:      'textareafield',
        fieldLabel: "Comments"
    }]

此功能当前有效,并显示 descriptionname 中的值。

我为该组创建了一个模型,例如:

Ext.define('GroupModel', {
  extend: 'Ext.data.Model',
  fields: [{
    name: 'id',
    defaultValue: null,
    type: 'string',
    useNull: true
  }, {
    name: 'name',
    defaultValue: null,
    type: 'string',
    useNull: true
  }]
});

还有另一个父对象模型,我们将其命名为Parent,例如:

 Ext.define('ParentEditModel', {
   extend: 'Ext.data.Model',
   fields: [
   {
     name: 'name',
     defaultValue: ''
   }, {
    name: 'description',
    defaultValue: ''
   }
   ...
   ]

对于最后一个模型,我尝试了 hasOne 关联

喜欢:

   hasOne: {model: 'GroupModel', name: 'group' }

并向其中添加一个带有以下签名的新字段:

   {name: 'groupName', mapping: 'group.name'}

显然这不起作用,因为据我了解,这需要一个 associationKey,而我当前的模型中没有。

简而言之,如何将这两个参数(组:id、名称)映射到表单 View 中的输入。

最佳答案

在这种情况下,您不需要关联模型,您可以使用父模型中的映射,并且不需要关联键或其他任何内容。

这是一个jsfiddle:http://jsfiddle.net/ncLvaupn/

 Ext.define('ParentEditModel', {
   extend: 'Ext.data.Model',
   fields: [
   {
     name: 'name',
     defaultValue: ''
   }, {
    name: 'description',
    defaultValue: ''
   }, {
    name: 'groupName',
    mapping: 'group.name'
   }
   ...
   ]

关于javascript - 将属性从嵌套模型映射到 extjs 表单 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30088041/

相关文章:

Javascript window.open() 函数在没有弹出窗口阻止程序的情况下打开链接

javascript - 改善慢 Angular 方向

c# - 无法从程序集加载类型 System.Runtime.Versioning.TargetFrameWorkAttribute

javascript - EXTJS 目录结构 : What can be deleted?

javascript - 网格显示没有数据,但有请求直接为什么

javascript - iOS/移动版 Safari 是否为其字体大小调整控件提供 javascript 事件或媒体查询?

javascript - 需要有关此切换的帮助,几乎没有变化

php - 查找从 php 发送到 javascript 的数组长度

json - 字符串编码数字的自定义 JSON 解码

javascript - HTML 中的空文本