vue12-ElementUI tree元件懶載入的實現
專案中用到的Element UI tree元件,由於向後臺請求回來的資料龐大,需要使用懶載入,就研究了下,總結程式碼如下
- template程式碼
<el-tree
:props="props"
ref="tree"
lazy
:load="loadNode"
node-key="id"
:expand-on-click-node="false"
@node-click="nodeClick"
:filter-node-method="filterNode">
<span class="tree-node" slot-scope="{ node, data }" :title="data.name">
<span>{{ data.code }}_{{ data.name }}</span>
</span>
</el-tree>
- script程式碼
/* 在data中定義
props: {
label: 'name',
children: 'child',
isLeaf: 'leaf'
}*/
loadNode(node, resolve) {
console.log(node)
// console.log(resolve)
if (node.level === 0) {
return resolve([{ name: '第一級', id: '1' }, { name: '第一級02', id: '2' }])
// 這裡resolve的資料是後臺給的,id用於之後點選發起請求時的引數
} else {
this.getTreeChild(node.data.id, resolve)
}
},
getTreeChild(id, resolve) {
console.log(id)
// 這裡可以替換成向後臺發起的請求修改data,為了演示我用的是寫死的資料,獲取到data後,resolve出去就好了
if (id === '1') {
const data = [{
name: '第二級',
code: '2222',
leaf: true,
child: []
}, {
name: '第二級02',
child: [],
id: '1'
}]
resolve(data)
} else {
const data = [{
name: '第二級33',
code: '3333',
leaf: true,
child: []
}, {
name: '第二級02333',
child: []
}]
resolve(data)
}
},
以上程式碼親測有效
相關文章
- 手把手實現圖片懶載入+封裝vue懶載入元件封裝Vue元件
- 【譯】懶載入元件元件
- Vue元件懶載入Vue元件
- dva中元件的懶載入元件
- 圖片懶載入實現
- vue3 + vite實現非同步元件和路由懶載入VueVite非同步元件路由
- 圖片懶載入js實現JS
- 滾動載入圖片(懶載入)實現原理
- [譯] React 16.6 懶載入(與預載入)元件React元件
- layui-tree如何實現懶載入以及動態區域性渲染樹節點UI
- [譯] 原生實現圖片懶載入
- React如何實現圖片懶載入React
- 實現圖片懶載入(throttle, debounce)
- 實現圖片懶載入的三種方式
- Vue 非同步元件&路由懶載入Vue非同步元件路由
- 多層巢狀後的 Fragment 懶載入實現巢狀Fragment
- 基於react的lazy-load懶載入實現React
- Fragment 懶載入實踐Fragment
- 小說APP原始碼的圖片載入方式,懶載入和預載入的實現APP原始碼
- 深入理解React:懶載入(lazy)實現原理React
- python 實現類屬性的懶載入裝飾器Python
- 懶載入
- Vue 的懶載入Vue
- 微信小程式--實現圖片懶載入(lazyload)微信小程式
- Vue實現一個圖片懶載入外掛Vue
- 30行Javascript程式碼實現圖片懶載入JavaScript
- 懶載入和預載入
- 如何實現 SAP UI5 的 Lazy Loading(延遲載入,懶載入)試讀版UI
- 一起來實現圖片滾動懶載入
- TabLayout+ViewPager+Fragment實現懶載入完全解決方案TabLayoutViewpagerFragment
- Ribbon - 懶載入
- Iview元件庫之tree的第二種實現View元件
- react非同步載入元件實現解析React非同步元件
- 圖片懶載入
- vue路由懶載入Vue路由
- Hibernate 之 懶載入
- 圖片預載入和懶載入
- Vue 路由按需載入(路由懶載入)Vue路由