Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“

Vue+element_Table树形数据与懒加载

报错信息:
1.Error in render: “RangeError: Maximum call stack size exceeded”
2.vue.esm.js?efeb:1906 RangeError: Maximum call stack size exceeded

支持树类型的数据的显示。当 row 中包含 children 字段时,被视为树形数据。渲染树形数据时,必须要指定 row-key。支持子节点数据异步加载。设置 Table 的 lazy 属性为 true 与加载函数 load 。通过指定 row 中的 hasChildren 字段来指定哪些行是包含子节点。children 与 hasChildren 都可以通过 tree-props 配置。

使用树形结构+懒加载需要的属性:

row-key=“id” 需要指定,不指定就不会出现 右侧朝向小箭头 就没有懒加载的情况
tree-props配置树表格懒加载标识
load方法,用于点击小箭头加载数据
lazy开启懒加载以后,就可以把load来的数据追加到表格中去了

	<el-table
        :lazy="lazy"
        :load="load"
        :tree-props="treeProps"
        :row-key="rowKey"
        ref="multipleTable"
        border
        class="table"
        :data="tableData"
        tooltip-effect="light"
        style="width: 100%"
        @selection-change="handleSelectionChange"
      >
load methods:
  // 懒加载表格子级
    lazyLoad(tree, treeNode, resolve) {
      const { id } = tree;
      api
        .listChildrenRecord({
          parentId: id,
        })
        .then((arr) => {
          let {
            data: { data, total },
          } = arr[1];
          resolve(data);
        });
    }

出现上述报错主要是接口返回的数据,唯一标识id,不唯一了,所以产生了上述报错:
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“_第1张图片
显示调用栈溢出,id不能重复,因为指定的row-key=“id” 需要确保唯一性。

你可能感兴趣的:(#,vue,vue.js,javascript,前端,table树形数据和懒加载报错)