当前位置:   article > 正文

vue3中elementplus树状表格懒加载,子级编辑不刷新解决方案_element-plus 树形表格数据刷新

element-plus 树形表格数据刷新

因为表格组件二次封装了elementplus的el-table,代码很多,就不一一展示出来了

 html代码(表格懒加载

  1. <el-table
  2. stripe
  3. empty-text="暂无数据"
  4. row-key="id"
  5. :data="tableData.data"
  6. lazy
  7. ref="tableRef"
  8. :load="load"
  9. :header-cell-style="{ background: '#fdf6ec', 'font-weight': 700 }"
  10. :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
  11. >
  12. </el-table>

js代码如下:

1.新增一个Map对象,用于处理编辑操作后子级的刷新

const loadMap = new Map();

2.懒加载函数

  1. /**懒加载 */
  2. const load = (row: any, treeNode: any, resolve: (date: any) => void) => {
  3. loadMap.set(row.id, { row, treeNode, resolve });
  4. resolve(row.children);
  5. };

3.编辑完成后,刷新列表,进行树状递归

 recursion(tableData.data);//参数为:表格数据 刷新列表直接传list

4.递归函数

  1. /**递归函数 */
  2. function recursion(data: Array<any>) {
  3. data.forEach((element: any) => {
  4. if (loadMap.get(element.id)) {
  5. const { resolve } = loadMap.get(element.id);
  6. load(element, null, resolve);
  7. if (element.children.length) {
  8. recursion(element.children);
  9. }
  10. }
  11. });
  12. }

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号