我正在尝试将嵌套的 JSONData 加载到我的树形网格中。在第一次调用获取数据时,填充网格所需的所有数据都作为 JSON 对象在响应中返回。但是我可以看到它仍然尝试为网格中的所有父对象获取数据。
即使在虚假 GET 之后,它仍然无法填充子节点。
我定义了 2 个模型,具有“hasMany”关系的父节点指代子模型,而具有“BelongsTo”关系的子节点指代父模型
我正在使用带有 JSON 阅读器的 Ajax 代理。
在网上搜索我找不到太多信息,我使用了 extJS 文档中的 user-orderitems-products 示例来尝试设置我的模型和树。
我不完全确定我错过了什么。任何帮助将不胜感激。
JSON(人可能有也可能没有子对象):
People: {
{firstName: john, id:123, uniqueID:1231, leaf:true},
{firstName: jane, id:124, uniqueID:1240,
offspring:[
{firstName: adam, id:124, uniqueID:1241, leaf:true},
{firstName: brandon, id:124, uniqueID:1242, leaf:true},
{firstName: claire, id:1243, uniqueID:1243, leaf:true}
]}
}
模型:
Ext.define('Person',{
extend: 'Ext.data.Model',
fields: [
{name: 'firstName', type:'string'},
{name: 'uniqueID', type:'float'}
hasMany: {
model:'Offspring',
name: 'Offspring',
associationKey: 'offspring',
primaryKey: 'uniqueID',
foreignKey: 'id'
}
],
proxy: {
type: 'rest',
url: 'http://blah/blah',
reader: {
type: 'json',
root: 'People'
}
}
});
Ext.define('Offspring',{
extend: 'Ext.data.Model',
fields: [
{name: 'firstName', type:'string'},
{name: 'uniqueID', type:'float'}
],
belongsTo: 'Person'
});
店铺定义:
var store = Ext.create('Ext.data.TreeStore', {
model: 'Person',
folderSort: true
}