我有JSON
喜欢:
{
"id": "d258832c-c454-4961-9013-40ab222930d9",
"name": "CDS_BU",
"description": null,
"parentId": null,
"group": {
"id": "ef01eb78-2ae0-43ed-844e-57a825b046eb",
"name": "GroupForCDSBU2"
}
}
我有form
并查看此对象,但我无法在加载时显示表单中group.name
的当前值。
当前表单从Ext.form.Panel
延伸,我使用initComponent
将值分配给表单。即。
me.items = [{
name: 'name',
xtype: 'textfield',
fieldLabel: "Name"
}, {
name: 'description',
xtype: 'textareafield',
fieldLabel: "Comments"
}]
目前有效,并显示description
和name
的值。
我为小组创建了一个模型,如:
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
,而我目前的model
还没有。{/ p>
简而言之,如何将这两个参数(group:id,name)映射到表单视图中的输入。
答案 0 :(得分:0)
在这种情况下,您不需要关联的模型,您可以在父模型中使用映射,不需要任何关联键或其他任何内容。
这是一个jsfiddle:http://jsfiddle.net/ncLvaupn/
Ext.define('ParentEditModel', {
extend: 'Ext.data.Model',
fields: [
{
name: 'name',
defaultValue: ''
}, {
name: 'description',
defaultValue: ''
}, {
name: 'groupName',
mapping: 'group.name'
}
...
]