依據parentId動態構建一顆樹

2021-08-03 22:49:05 字數 734 閱讀 5140

一、需求分析

1、後端以陣列形式返回樹的所有節點資料,每個節點資料格式如下:

2、我們只需要關心節點與節點之間的連線屬性parentid即可,其他屬性無需關心,parentid會指明當前節點關聯的父級節點id號

3、這裡我基於primeng控制項庫的p-tree配置進行演示(ps:primeng是angular4接近最全的控制項庫),關於primeng請檢視primeng官網

4、這裡我給出p-tree渲染樹所需要的資料配置

5、看完p-tree的資料配置,我們只需要將節點的子節點新增進該節點的children屬性對應的字段裡面(ps:市面上的樹的渲染配置都是大同小異)

二、拼樹的具體實現

1、這裡我展示一下如何拼出這棵樹需要的渲染配置(所有的邏輯我都進行了備註,這裡省略了業務相關的其他**,比如加圖示)

2、下面是p-tree依據組合成功的資料進行渲染的結果

iOS 依據文字內容為TextView動態定義高度

解決方式 1.定義乙個textview,在storyboard中設定該textview的constraints。2.將高度的constraint定義到頭檔案裡 直接拖拽 property weak,nonatomic iboutlet nslayoutconstraint textviewheigh...

vue構建動態表單

後台管理系統裡面有非常多的表單需求,我們希望能夠通過寫乙個json格式的資料,通過vue的迴圈動態地去渲染動態表單。並且能夠在外部得到渲染出來的表單的資料,可以對表單進行重置操作。我結合element ui的控制項的下拉框,輸入框,時間選擇控制項和vue treeselect,做了乙個動態表單。先簡...

JS動態構建一棵目錄樹

在使用frameset布局的時候,經常會用到目錄樹,我們可以把一棵樹寫死,但是更多的情況是,這棵樹需要隨時被改動,所以我們期望的是他能夠被動態的構建。mvc,算是了解一點,那本文就把這棵樹根據m v c給拆開分解吧。下面就來看看這棵樹是怎麼構建的。var tree a2 a3 這是一顆兩層的目錄樹,...