a64654612 2023-01-17 17:26 采纳率: 88%
浏览 19

使用antd-table组件的展开功能,展开的行不匹配的问题

在项目中使用antd-table组件的展开功能
点击第一行加号时,展开的却是第二行,数据却是第一行的数据
出现这种情况一般都是什么原因呢?搞了半天没找出来原因,求解~
  • 写回答

1条回答 默认 最新

  • 流比 2023-01-17 17:32
    关注

    这种情况通常是由于使用了相同的key值导致的。在使用antd-table组件时,需要给每一行设置一个唯一的key值,这样才能保证点击一行时,展开的正是点击的这一行。

    如果你没有设置key值,antd-table会自动使用索引值作为key值。但是如果表格数据是通过ajax加载,或者是动态渲染,索引值可能会发生变化,导致展开的行不匹配。

    因此,建议你在渲染表格时使用唯一的数据字段,比如说id,或者是其他不会变化的字段,作为key值。

    例如:

    <Table
      dataSource={dataSource}
      render={(text, record) => (
        <Expand
          key={record.id}
          render={() => (
            <div>{record.description}</div>
          )}
        />
      )}
    />
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 1月17日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀