ExtJS4如何从JSON设置TreePanels根节点 [英] ExtJS4 How to set TreePanels root node from JSON
本文介绍了ExtJS4如何从JSON设置TreePanels根节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想使用ExtJS4创建TreePanel.所以我将JSON发送到具有以下格式的代理阅读器
I want to create TreePanel using ExtJS4. So I'm sending JSON to proxy reader which has following format
{
"text": "en",
"children": {
"text": "/",
"children": [{
"text": "/page",
"children": [{
"text": "/page/new",
"children": [],
"leaf": true,
"expanded": false
},
{
"text": "/page/remove",
"children": [],
"leaf": true,
"expanded": false
}
],
"leaf": false,
"expanded": false
},
{
"text": "/home",
"children": [],
"leaf": true,
"expanded": false
}
],
"leaf": false,
"expanded": true
}
}
如果要将en
节点作为根节点,如何配置我的商店.
How do I have to configure my Store if I want en
node to be my root node.
Ext.define('Example.store.WebItems', {
extend: 'Ext.data.TreeStore',
model: 'Example.model.Item',
proxy: {
type: 'ajax',
api: {
read: 'some/url',
},
reader: {
type: 'json',
root: 'children' // Is this correct?
}
},
root: // What should I write here?
});
当我将TreeStore
的根定义为root: 'My Root'
时,它将添加新的根,但是我想使用在JSON
中定义的根.
When I define TreeStore
's root as root: 'My Root'
it will add new root, but I want to use root defined in JSON
.
所以我的问题是:
- 如何使用JSON中的根节点而不是手动定义根节点?
- 我还必须在代理读取器和TreeStore中定义根节点吗?
推荐答案
响应必须具有root
.
例如:
{
MyRoot: {
"text": "en",
"children": {
"text": "/",
"children": [{
"text": "/page",
"children": [{
"text": "/page/new",
"children": [],
"leaf": true,
"expanded": false
}, {
"text": "/page/remove",
"children": [],
"leaf": true,
"expanded": false
}],
"leaf": false,
"expanded": false
}, {
"text": "/home",
"children": [],
"leaf": true,
"expanded": false
}],
"leaf": false,
"expanded": true
}
}
}
在此示例中,root
是MyRoot
.现在,您必须告诉"读者您的root
是MyRoot
:
In this example root
is MyRoot
. Now you have to "tell" reader that your root
is MyRoot
:
// ...
reader: {
type: 'json',
root: 'MyRoot'
}
},
//root: this config is not needed now
});
这篇关于ExtJS4如何从JSON设置TreePanels根节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文