gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 07:22:55 24 4
gpt4 key购买 nike

我有一个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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com