晕:)
我有一个带有AsyncNode根的TreePanel(在其工具栏中带有一个按钮)。由于某些原因,当单击Button时,我需要更改树的内容。我调用Ext.Ajax.request,它返回所有必要的数据。但是如何将其放入TreePanel?
我试过下面的代码,但是不起作用:(
Ext.Ajax.request({
url: '../mocksearch',
params: {
pattern: txtSearch.getValue()
},
success: function(result, options) {
searchResultRoot = Ext.decode(result.responseText);
tree.setRootNode(searchResultRoot);
}
});
最佳答案
您的TreePanel
绑定到TreeLoader,后者负责加载和保存数据。
因此,更改Tree的唯一方法是更改TreeLoader中的数据。
您可以尝试:在按钮上,更改dataUrl和/或baseParams并调用Treeloader load
方法。加载后,Treeloader会自动刷新树。
您可以尝试类似:
mybutton.on('click', function(button, event) {
var treepanel = this.mytree;
treepanel.dataUrl = 'mynewurl.php';
treepanel.baseParams = {page:'tree2'}
treepanel.getLoader.load( this.mytree.getRootNode() )
}, this);
关于javascript - ExtJs更改树根,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5392965/