我可以将一些静态数据加载到Ext.data.TreeStore
实例吗?
对于Ext.data.Store来说非常简单 - 我们所要做的就是将data param添加到config。
但我不能为Ext.data.TreeStore看到这样的事情。
答案 0 :(得分:13)
使用内存代理创建TreeStore实例,然后将商店的ROOT NODE设置为您已获得的静态数据。
Ext.define('Task', {
extend: 'Ext.data.Model',
fields: [
{name: 'task', type: 'string'},
{name: 'user', type: 'string'}
]
});
var store = Ext.create('Ext.data.TreeStore', {
model: 'Task',
proxy: {
type: 'memory'
},
folderSort: true
});
var data = {
"text":".",
"children":
[
{
task:'Project: Shopping',
user:'Will',
iconCls:'task-folder',
expanded: true,
children:
[
{
task:'Housewares',
user:'Will',
iconCls:'task-folder',
expanded: true,
children:[
{
task:'Kitchen supplies',
user:'Alpha',
leaf:true,
iconCls:'task'
},
{
task:'Groceries',
user:'Bravo',
leaf:true,
iconCls:'task'
}
]
}
]
}
]
};
var rootNode = store.setRootNode(data);
答案 1 :(得分:5)
你也可以这样做:
var store = Ext.create('Ext.data.TreeStore', {
model: tree_model,
// normally the data object would go here
proxy: {
data : data, // instead it goes here
type: 'memory',
reader: {
type: 'json',
}
},
});
答案 2 :(得分:3)
TreeStore中有root而不是data
。