element tree懶加載:load="loadNode"只觸發(fā)一次的解決方案
當tree 懶加載獲取 信息時,只有在第一次 加載時,觸發(fā) :load=“loadNode” ,但是這樣明顯是不合理的,因為當增刪改查,后端數據已經改變,但是咱們的:load=“loadNode” 不會再次觸發(fā),導致數據顯示問題;
<el-tree :props="props" :load="loadNode" lazy @node-click="handleNodeClick"></el-tree>
data() { return { node_had: [], // 觸發(fā) tree 的 :load=loadNode 重復觸發(fā) 動態(tài)更新tree resolve_had: [], // 觸發(fā) tree 的 :load=loadNode 重復觸發(fā) 動態(tài)更新tree }, },
methods:{ // 異步樹葉子節(jié)點懶加載邏輯 loadNode(node, resolve) { // console.log(node, resolve) // 一級節(jié)點處理 if (node.level === 0) { this.node_had = node; //這里是關鍵!在data里面定義一個變量,將node.level == 0的node存起來 this.resolve_had = resolve; //同上,把node.level == 0的resolve也存起來 this.requestTree(resolve); } // 其余節(jié)點處理 if (node.level >= 1) { // 注意!把resolve傳到你自己的異步中去 this.getIndex(node, resolve); } }, // 觸發(fā) tree 的 :load=loadNode 重復觸發(fā) 動態(tài)更新tree requestNewData() { this.node_had.childNodes = []; //把存起來的node的子節(jié)點清空,不然會界面會出現重復樹! this.loadNode(this.node_had, this.resolve_had); //再次執(zhí)行懶加載的方法 }, // 點擊 按鈕時 顯示tree 時候 觸發(fā) 函數 重新渲染tree _handleCopy(_tableSelection) { this.requestNewData(this.node_had, this.resolve_had); } }
到此這篇關于element tree懶加載:load="loadNode"只觸發(fā)一次的解決方案的文章就介紹到這了,更多相關element tree懶加載:load="loadNode"內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue?filters和directives訪問this的問題詳解
這篇文章主要介紹了vue?filters和directives訪問this的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01Vue結合openlayers按照經緯度坐標實現錨地標記及繪制多邊形區(qū)域
OpenLayers是一個用于開發(fā)WebGIS客戶端的JavaScript包,最初基于BSD許可發(fā)行。OpenLayers是一個開源的項目,其設計之意是為互聯網客戶端提供強大的地圖展示功能,包括地圖數據顯示與相關操作,并具有靈活的擴展機制2022-09-09Vue路由守衛(wèi)及頁面登錄權限控制的設置方法(兩種)
這篇文章主要介紹了Vue路由守衛(wèi)及頁面登錄權限控制的設置方法,本文通過實例代碼通過兩種方法給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03