el tree 從葉子節點入手解決選中問題

2022-09-23 23:27:11 字數 1184 閱讀 5329

第一次用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...