我有一个TreeStore,它工作正常,但每个节点都有一些嵌套数据,所以我为它创建了一个新模型并使用了hasMany
关联。但现在商店不再装货了。当我查看load
事件中的记录时,它们是空的,但是浏览器告诉我Ajax请求像以前一样提供了所有内容。
这是节点数据来自服务器时的样子:
{ "path": "KEY_518693", "name": "KEY_518693", "data": [ { "branch": "KEY_518693", "primnav": "ETC", "X": 29261, "Y": 96492 }, ... ], "children": [ ... ], ... }
这些是我的模型定义:
TreeNode: { extend : 'Ext.data.Model', requires: [ 'DataRecord', 'Ext.data.association.HasMany' ], fields : [ { name: 'id' , type: 'string', mapping: 'path' }, { name: 'text', type: 'string', mapping: 'name' }, ... ], hasMany : { model: 'DataRecord', name : 'data' }
DataRecord: { extend: 'Ext.data.Model', fields: [ { name: 'branch' , type: 'string'}, { name: 'primnav', type: 'string' }, { name: 'X' , type: 'int' }, { name: 'Y' , type: 'int' } ] }
当我删除关联时,树加载没有问题。当我将data
添加到字段时,它会被解析到树中,但作为“原始”对象而不是模型实例。
答案 0 :(得分:2)
请注意,DataRecord没有名为treenode_id的字段 - 因此您的hasMany关联不完整。有关详细信息,请参阅docs。
答案 1 :(得分:0)
我的方法有两个问题。
'branch'
是正确的