亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教下extjs treeloader加載樹的原理是什么?

請教下extjs treeloader加載樹的原理是什么?

慕神8447489 2023-04-08 18:14:28
 最好有例子說明,我指的是從遠程加載樹,也就是從數據庫讀取樹的數據。 下面有我的頁面,實現的是兩級樹,增刪改功能都有. 現在我想做成3級以上的,我想到的解決方案就是把樹放到store里。 請教實現方案
查看完整描述

2 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

loader : new Ext.tree.JsonPluginTreeLoader({ 
                                    url : 'findTree.action' 
                                }), 
                        root : new Ext.tree.AsyncTreeNode({text : '菜單', expanded:true}), 
                        listeners : { 
                            'click' : { 
                                fn :this.onTreeNodeClick, 
                                scope : this 
                            }, 
                            'afterrender':{ 
                                fn : this.onExpandAll, 
                                scope : this 
                            } 
                        }

查看完整回答
反對 回復 2023-04-12
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

對于ExtJS中的樹來說,樹加載器TreeLoader是一個比較關鍵的部件,樹加載器由Ext.tree.TreeLoader類定義,只有AsyncTreeNode才會使用TreeLoader。看下面的代碼:  

  

Ext.onReady(function(){  

  

var loader=new Ext.tree.TreeLoader({  

//url:"treedata.js"  

  

url:'AAA.do?content.method=getTreeNodes&parentId=0'  

});  

var root=new Ext.tree.AsyncTreeNode({  

id:"root",   

text:"根節點",  

loader:loader});   

var tree=new Ext.tree.TreePanel({  

renderTo:"hello",  

root:root,  

width:100  

});  

  

});   

  

首先我們使用Ext.tree.TreeLoader來初始化了一個TreeLoader對象,構造函數中的配置參數url表示獲得樹節點信息的url。然后在初始化根節點的時候我們使用的是AsyncTreeNode,在該節點中指定該節點的 laoder為前面定義的loader。執行這段程序,在點擊“根節點”時,會從服務器端指定root節點的子節點信息。    

   TreeLoader嚴格來說是針對樹的節點來定義的,可以給樹中的每一個節點定義不同的TreeLoader,默認情況下,如果一個 AsyncTreeNode節點在準備加載子節點的時候,如果該節點上沒有定義loader,則會使用TreePanel中定義的loader作為加載器。因此,我們可以直接在TreePanel上面指定loader屬性,這樣就不需要給每一個節點指定具體的TreeLoader了。  

  

    監聽TreePanel的beforeload(node)事件,當點擊不同的樹節點時,將樹節點ID傳到后臺獲得該node節點的下級節點。  

  

如:tree.on('beforeload',function(node){  

  

tree.loader.dataUrl='AAA.do?content.method=getTreeNodes&parentId='+node.id;   

  

});  

  

獲得TreeNode自定義屬性值的方法:node.attributes.XXX。XXX為自定義屬性。  

  


查看完整回答
反對 回復 2023-04-12
  • 2 回答
  • 0 關注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號