我有一个json文件:
[{
"text": "Company",
"id": "100",
"leaf": false,
"cls": "folder",
"expanded": true,
"children": [{
"text": "Children Level One 1",
"id": "02",
"leaf": false,
"cls": "folder",
"expanded": false,
"children": [{
"text": "Children Level Two 1",
"id": "02.02",
"leaf": false,
"cls": "folder",
"children": [{
"text": "Children Level Three 1",
"id": "02.02.01",
"leaf": true,
"cls": "file"
}, {
"text": "Children Level Three 2",
"id": "02.02.02",
"leaf": true,
"cls": "file"
}]
}]
}]
}]
在我的ExtJS应用程序中,我有三个组合框。所以我想用"Childrens Level One"
填充第一个组合。下一个组合"Childrens Level Two"
等。但如果我在第一个组合中选择"Childrens Level One 1"
,我希望第二个组合填充来自"Childrens Level Two"
的{{1}}。在我的示例中,它是"Children Level One 1"
。那么我可以以某种方式查询我的json文件吗?
答案 0 :(得分:0)
一种方法可能是加载JSON数据,然后将其加载到不同的商店中。 “子”商店的模型可以具有“父”属性,该属性存储父节点的id。然后,在依赖组合框的beforequery
事件上,您可以通过父组合框中的选定ID过滤依赖存储。您可以非常轻松地封装此逻辑,以便您可以拥有N个嵌套的相关组合框。
您还可以展平json,使所有节点都处于同一级别,只需嵌套节点的“parentId”值。然后您使用一个商店,但仍然可以按选定的值进行过滤。