与我以前的帖子相同。这是我从服务器上获得的改变的json。
{"property":[{"@length":"10","@mandatory":"true","@type":"String","@label":"Description","@id":"desc"},{"@mandatory":"false","@type":"Number","@label":"Code","@id":"code"},{"@mandatory":"true","@type":"Boolean","@label":"Check","@id":"check"},{"@mandatory":"true","@type":"DateField","@label":"Date","@id":"date"},{"@mandatory":"true","@type":"List","@label":"Types","@id":"types","options":[{"@value":"eee"},{"@value":"fff"}]}]}
我想在组合框中渲染Types的options数组。这是模型。
Ext.define('Property', {
extend : 'Ext.data.Model',
fields : [ {
name : 'id',
mapping : '@id'
}, {
name : 'label',
mapping : '@label'
}, {
name : 'type',
mapping : '@type'
}, {
name : 'mandatory',
mapping : '@mandatory'
}, {
name : 'length',
mapping : '@length'
} ],
// {name : 'values', mapping : 'options[0].@value'}], didnt work
hasMany : {
model : 'Options',
name : 'options'
}
});
Ext.define('Options', {
extend : 'Ext.data.Model',
// reader : {
type : 'json',
root : 'options'
},
fields : [ {
name : 'value1',
mapping : '@value'
} ],
associations : [ {
type : 'belongsTo',
model : 'Property'
} ]
});
无法找到问题所在。有人可以建议我这样做的正确方法吗?
答案 0 :(得分:0)
我认为你应该研究模型中的“关联”概念,并使用hasMany /属于关系。恕我直言,如果您需要使用您尝试设置的数据,它将使代码更容易,更清晰,同样在代码中更有用。
有关关联的更多信息,请参阅sencha docs
中的这个好链接HTH!
答案 1 :(得分:0)
您是如何配置组合商店的?如果您的数据已经被提取,您可以通过访问返回到商店的原始数据来设置组合的数据。