我在ExtJs 4.1中创建了一个树面板,该面板与store关联。我在变量中有一些JSON数据。如何在点击按钮时将其加载到树存储中。
Ext.define('User', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'},
{name: 'phone', type: 'string', mapping: 'phoneNumber'}
]
});
var data = {
users: [
{
id: 1,
name: 'Ed Spencer',
phoneNumber: '555 1234'
},
{
id: 2,
name: 'Abe Elias',
phoneNumber: '666 1234'
}
]
};
//注意我们如何在阅读器中设置'root'以匹配上面的数据结构
var store = Ext.create('Ext.data.TreeStore', {
autoLoad: false,
model: 'User',
proxy: {
type: 'memory',
}
});
如何点击按钮加载数据?
答案 0 :(得分:0)
var store = Ext.create('Ext.data.TreeStore', {
model: yourModel, // make sure the model fits
proxy: {
data : yourData, // this is your var with json
type: 'memory',
reader: {
type: 'json'
}
},
});
在此处查看答案:Load static data to Ext.data.TreeStore
要在按钮上运行代码,请执行以下操作:
Ext.create('Ext.Button', {
text: 'Click me',
handler: function() {
// load the store
}
});
答案 1 :(得分:-1)
尝试store.data = data
,似乎没有像'setData'这样的方法,只需尝试store.data = data
也许它会起作用
答案 2 :(得分:-2)
您可以在按钮上单击使用store.loadData方法。检查文档here。