第一次用el-tree,是乙個很陰間的任務,不過可以抄小夥伴的,快樂抄了過來結果發現我這邊出了個bug,省市區,市級選中其下所有的區也被選中。但我一看請求返回值,它的是否選中狀態是正確的。所以我需要抓抓**bug。
整體封裝元件**見附錄
props傳進去一些當前的value名
defaultprops: ,
這一步非常關鍵,要記住el-tree判斷是否選中要從葉子結點看!如果單純以是否選中(tick為true),就會出現非葉節點擊中,其下級全部選中的bug。
resolvedata(data, newarr, level, regionstr)這個遞迴函式深度搜尋,如果到達該分支葉節點,就進行下一分支的查詢。
data :遞迴陣列 ---newarr: 記 id ---level:深度 --- regionstr:
// 資料處理
resolvedata(data, newarr, level, regionstr) else
item.type = "region";
}// important step
if (item.tick && level === 3)
if (item.list)
});},
獲取生成樹的資料,同時也是遞迴開始
async getareaconnectlist() else
let arr = ;
let level = 0;
let regionstr = "";
this.resolvedata(this.treedataall, arr, level, regionstr);
this.defaultcheckedkeys = arr || ;
},
handlenodecheck(val) );
},
這幾天搞什麼級聯選擇器 樹結構,和陣列打交道很多。要注意資料格式和回顯方式,想清楚怎麼來 怎麼傳送。
el-tree判斷是否選中要從葉子結點看!如果單純以是否選中(tick為true),就會出現非葉節點擊中,其下級全部選中的bug
}
葉子節點數
易老師的部落格 有同學問 為什麼具有100個結點的完全二叉樹的葉子節點數為50?這個問題很有意思,謝謝這同同學的提問。現在分析一下。如果一棵完全二叉樹有100個結點,我們根據以下兩點 1.二叉樹的性質 深度為k的二叉樹,最多有2的k次方 1個結點。2.對於完全二叉樹而言,葉子結點只能出現在最後兩層,...
資料結構例程 從根節點到每個葉子節點的路徑之逆
本文是資料結構基礎系列 6 樹和二叉樹中第11課時二叉樹遍歷非遞迴演算法和第12課時層次遍歷演算法的例程。問題 設計演算法輸出從根節點到每個葉子節點的路徑之逆。解法1 利用二叉樹後序遍歷非遞迴演算法中,每乙個葉子節點出現時,棧中從棧頂到棧底,正好是葉子節點到根節點的逆序的性質編寫。參考解答 btre...
el tree回顯父節點半選問題
當選中父節點下其中乙個子節點時,把父節點和子節點都儲存到庫中做頂部選單展示,回顯時使用以下方法進行半選展示。ref menutree data treedata default checked keys checkedkeys check strictly false props defaultpr...