zoukankan      html  css  js  c++  java
  • 关于antd 中嵌套表格子表格数据污染问题

      使用Antd 完成嵌套表格时会出现点击展开按钮出现每行嵌套的子数据一样形成数据污染。例如:打开第一行,第再打开第二行,则第一行子表格的数据会消失),主要原因就是因为没有在嵌套子表格中确定要显示的主键;主要解决办法有两种,一种是点击展开按钮时关闭其他展开项,另一种是在将每次请求到的子表格数据给存起来,然后嵌套子表格中的dataSource指定确定的Key例如(dataSource={data[item.Cid]),具体链接: https://www.cnblogs.com/fengxiana/p/13812598.html

    主要说一下设置点击展开按钮关闭其他展开项:

    (1)在父表格中设置: expandedRowKeys = { dataNew }

    (2)设置初始值: const [dataNew, setDataNew] = useState([])

    (3)在点击展开按钮时设置值:(在onExpand函数中)

       const assq = debounce(200, false, (expanded: boolean, record: any ) => {
          if(dispatch && expanded) {
            dispatch({
                   ...... 
                  },
              })
          }
          const temp = []
          if (expanded) {
              temp.push(record.clusterid || record.key || record.apptype)
          }
          setDataNew(temp)
        });
  • 相关阅读:
    使用过的一些前端工具
    文档和元素中与几何形状和滚动相关的属性和方法
    文档元素选取和遍历中的一些容易忘记的概念
    只存在于理想中的客户端JavaScript时间线
    JavaScript函数代码和执行上下文--ECMA-262-5
    JavaScript中的闭包
    Git Note
    HDOJ 4463 Outlets 最短路
    HDOJ 4548 美素数
    HDOJ 2544 最短路
  • 原文地址:https://www.cnblogs.com/newCoo/p/14345374.html
Copyright © 2011-2022 走看看