今天小編接到一個優化,須要把選中數據進行默認回填,特此小記做爲總結:markdown
作一個父子無關的tree(ps: 無半選,全選等默認操做)
拿到這個需求就是用官方通用el-tree加根據其類型回調其圖標方法,使用插槽渲染el-checkBox!
優化
勾選默認值
在父組件上傳遞已選中數據,在子組件中接收以後處理數據,其中最重要的邏輯是v-model,設置選中數據的id爲true來標記數據;
this
此處敲黑板!!!如果須要處理重複數據,引用loadash,或者reduce方式能夠參考~spa
點擊複選框事件
差很少就是這幾個步驟了,下面來更正下踩過的坑:code
關閉彈框以後須要從新渲染數據;
- 首先想到是v-if來作dialoag的從新繪製渲染,可是對勾選數據有影響;
- 在父組件上定義子組件的ref,直接來this.$refs.子組件.重置方法;
- 直接用:destroy-on-close="true",el-dialog上的關閉時銷燬 Dialog 中的元素屬性,親試有效;
prop傳遞過來的數據不能夠修改
- 能夠在computed中設置get,set方法來改變

部分節點選不上如何整治
- 首先想到的是使用$nextTick延遲,或者是render-after-expand形成的影響,結果是本人的v-if
形成的,<哭唧唧找了很久>orm
之後有時間了就把遇到的問題整理整理,幫助回憶!事件