elementUI tree異步樹拖拽問題


1.異步樹第一層級的節點拖拽報錯問題
   報錯信息如下:
  

 

 

原因:
  elementUI在封裝tree時,會為tree添加一個頁面不可見的根結點,該節點的子集就是樹的第一層級的所有節點。
  在節點拖拽時,會根據目標節點的父節點的data的值進行操作。
  而構建異步樹時,elementUI忘了給異步樹的不可見的跟節點的data屬性賦值,所有拖拽至一級節點操作報錯。
 
解決方案
  手動為不可見的根結點添加上data的值,具體代碼如下
<el-tree
   lazy
   draggable
   ref="asyncTree"
  :load="loadNode"
  :node-key="id"
  :allow-drop="allowDrop"
  >
</el-tree>
...
<scripit>
    ...
    methods: {
        allowDrop (draggingNode, dropNode, type) {
            if(draggingNode.data.id !== dropNode.data.id) {
                if(!dropNode.parent.data) {
                    let temp = [];
                    dropNode.parent.childNodes.forEach(item => {
                        temp.push(item.data)
                    })
            // 手動為跟節點添加上data屬性 dropNode.parent.data
= temp; } return true; } }, } ... </script>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM