treeselect 异步拿到数据后 要经过一个过滤 然后放入options 否则组件会崩溃
事件缘由:由于城市树会反复调用,所以不用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) },
---------------------------------------------
生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!
https://pengchenggang.gitee.io/navigator/
SMART原则:
目标必须是具体的(Specific)
目标必须是可以衡量的(Measurable)
目标必须是可以达到的(Attainable)
目标必须和其他目标具有相关性(Relevant)
目标必须具有明确的截止期限(Time-based)
生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!
https://pengchenggang.gitee.io/navigator/
SMART原则:
目标必须是具体的(Specific)
目标必须是可以衡量的(Measurable)
目标必须是可以达到的(Attainable)
目标必须和其他目标具有相关性(Relevant)
目标必须具有明确的截止期限(Time-based)