事件緣由:由于城市樹會反複調用,是以不用api每次調用,改用資料緩存一次讀取,各處使用。然後我把調用的資料放入treeselect,發現元件就崩潰了,但是api讀取的資料就沒問題。
檢視不是props問題,也不是watch問題,因為是個數組,不是屬性,是以懷疑一下。
最後發現是資料沒有進行過濾導緻。
getOptions (data) {
let d = data
let parentType = d[0].parentId
let putFn = (pid) => {
let arr = []
for (let i = 0, len = d.length; i < len; i++) {
if (d[i].parentId === pid) {
let obj = {}
obj = { ...d[i] }
let n = putFn(d[i].id)
if (n.length !== 0) {
obj.children = n
}
arr.push(obj)
}
}
return arr
}
return putFn(parentType)
},