记录ProTable使用expandedRowRender实现嵌套子表格单选

用onchange会出现以下图片问题,但要实现的是多个子表格,只能选择一条数据

解决方法使用onselect,注意!!!确保子表格的rowkey是唯一

const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);


const expandedRowRender = (record: DataType) => {
  // record父行数据
  return (
    <ProTable<any>
      rowKey={(item: any) => `${item.id}-${record.id}`}
      rowSelection={{
         type: "radio",
         selections: [],
         selectedRowKeys: selectedRowKeys,
         // onChange: selectChange,
         // 不能使用onChange,会出现每一个子表格都能选择一条数据
         onSelect: (recordChild) => {
            // 父行id+子行id 确保唯一
            setSelectedRowKeys([`${recordChild.id}-${record.id}`])
         },
       }}
      />
    );
  };




<ProTable<DataType>

   expandable={{ expandedRowRender }}

   rowKey="company_id"

/>

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ant Design Pro 是一个开源的企业级 UI 设计系统,其中的 Protable 组件提供了用于创建数据表格的工具。使用 Protable,我们可以快速地创建包含分页、排序、筛、搜索、编辑等功能的数据表格界面。下面是我学习 Protable记录: 1. 安装 Ant Design Pro 首先要在项目中安装 Ant Design Pro,可以通过 yarn 或 npm 安装。安装完毕后可以在代码中引用 Protable。 2. 创建数据模型 在使用 Protable 之前,需要对数据模型进行定义,包括数据字段名称、数据类型、数据校验规则等。这些定义可以将其定义为 JSON 格式,Protable 会根据定义自动创建表格界面。 3. 配置数据源 为了让 Protable 能够加载和显示数据,需要设置数据源。可以通过提供数据 API 的方式,也可以将数据源配置为本地的数据 JSON 文件。 4. 设置表格Protable 表格界面的列可以定义为可编辑、可排序、可过滤和隐藏等项。可以通过设置列的属性和方法来控制表格列的效果和操作。 5. 设置操作栏 Protable 还提供了一组工具栏,包括添加、编辑、删除和导出等功能,可以通过设置操作栏的属性和事件来使用这些功能。 6. 使用插件 Protable 还提供了很多插件,在表格界面中集成这些插件可以提高表格的效率和可用性。例如,可以集成省略号显示、显示总行数、自定义分页器等插件。 7. 配置表格样式 Protable 通过 CSS 样式文件控制表格的样式。可以自定义表头、表格行、分页器、工具栏等样式,以适应特定的应用场景。 总的来说,使用 Ant Design Pro 的 Protable 组件可以迅速创建一个功能强大的数据表格界面,同时 Protable 的灵活性和可扩展性也是很强的,可以满足各种需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值