我有 Ext.tree.Panel ,我使用 Ext.data.TreeStore 作为我的树。
var storeTree = Ext.create('Ext.data.TreeStore', {
expanded: false,
proxy: {
type: 'ajax',
url: '/tree'
},
root: {
text: 'Ext JS',
id: 'src',
expanded: true
},
folderSort: true,
sorters: [{
property: 'text',
direction: 'ASC'
}]
});
一切正常!
但我现在需要这样的东西:第一次,当我打开页面时,当我的树将被加载时,我需要从另一个位置获取JSON树(例如,我第一次想要从中获取JSON / tree1然后,当我展开我的树时,从/ generalTree获取;
换句话说,我第一次想从其他JSON加载树。我现在不知道。或者我可以向服务器发送参数,告诉它,它是第一次使用树(嘿,服务器,树由我自动扩展,而不是用户点击)
答案 0 :(得分:1)
Ext.tree.Panel中的解决方案
listeners : {
beforeload: function ( th, records, successful, operation, eOpts ){
console.log("load");
storeTree.getProxy().extraParams.().extraParams.changableParam = 'second';
storeTree.getProxy().url = '/another url';
}
}
答案 1 :(得分:-1)
您可以在商店中调用load方法,并为请求使用其他网址或添加参数:
// different URL
storeTree.load({
url: '/treeinit'
});
// parameters
storeTree.load({
params: {
init: true
}
});