ProTable嵌套表格怎么实现单选
目前的情况是可以选中两个
5条回答 默认 最新
关注
引自免费微信小程序:皆我百晓生
在Ant Design Pro的ProTable中实现嵌套表格单选,可以通过以下方式实现:
-
首先,在数据结构层面,确保你的子表格数据项中包含一个用于标识是否被选中的字段,例如
selected
。 -
在子表格组件(通常是render列)中添加Radio单选框,并通过onChange事件处理函数更新对应行的数据,使其选中状态改变。
import { Radio } from 'antd'; import ProTable from '@ant-design/pro-table'; // 假设这是你的数据结构,其中包含了子表格数据 const dataSource = [ { key: '1', name: 'Parent 1', children: [ { key: '1-1', name: 'Child 1-1', selected: false }, { key: '1-2', name: 'Child 1-2', selected: false }, ], }, // ... ]; // 子表格的渲染方法 const renderSubTable = (subData) => ( <ProTable rowKey="key" columns={[ { title: '名称', dataIndex: 'name', render: (_, record) => ( <Radio checked={record.selected} onChange={() => handleSelect(record.key)} > {record.name} </Radio> ), }, // 其他列... ]} dataSource={subData} pagination={false} /> ); // 单选处理函数 const handleSelect = (key) => { // 这里你需要根据实际情况更新数据源,将当前选中的子项设置为selected=true,其他子项为false const updatedDataSource = dataSource.map(item => ({ ...item, children: item.children.map(child => child.key === key ? { ...child, selected: true } : { ...child, selected: false } ) })); // 更新到你的state或props中 setDataSource(updatedDataSource); }; return ( <ProTable rowKey="key" columns={[ // 主表格的其他列... { title: '子表格', dataIndex: 'children', render: (children) => renderSubTable(children), }, ]} dataSource={dataSource} /> );
以上代码示例仅供参考,实际应用时请根据你的项目需求进行调整。核心思路是利用Radio组件的onChange事件来同步更新数据源中对应的选中状态,并在渲染时依据这个状态显示选中与否。
解决 无用评论 打赏 举报 编辑记录-
悬赏问题
- ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
- ¥15 怎么看我在bios每次修改的日志
- ¥15 python+mysql图书管理系统
- ¥15 Questasim Error: (vcom-13)
- ¥15 船舶旋回实验matlab
- ¥30 SQL 数组,游标,递归覆盖原值
- ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
- ¥20 gitlab 中文路径,无法下载
- ¥15 用动态规划算法均分纸牌
- ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据