我正在使用 Ant Design 表,其中我正在使用行扩展功能。我的查询是当我单击该行正在打开的表的任何行时,但问题是当我单击其他行时,前一行仍然打开,我只想要这样的功能,如果我单击任何行,另一个已经打开的行应该关闭.....如果有人有解决方案,请在stackBlitz中给我演示......提前谢谢
1 回答
1
检查 antd 文档AntD/#expandable。
这很简单。AntD 表具有expandable接受许多变量的参数,例如expandedRowKeys保存已扩展行的女巫,onExpand这是当您单击图标以展开它时调用的方法。一种简单的方法是创建自己的变量来保存像这样扩展的键
const [expandedKey, setExpandedKey] = useState(null);
并为当行被扩展时创建一个新方法
const onExpand = (_, { key }) => setExpandedKey(key);
然后在渲染 AntD 表时传递这些变量
<Table
columns={columns}
expandable={{
expandedRowRender: (record) => (
<p style={{ margin: 0 }}>{record.description}</p>
),
onExpand: onExpand,
expandedRowKeys: [expandedKey]
}}
dataSource={data}
/>
现场示例:https ://codesandbox.io/s/eloquent-http-jxf1m?file=/src/App.js
编辑
要使其在单击_图标时关闭(当它打开时),请将onExpand方法更改为:
const onExpand = (_, { key }) =>
expandedKey === key ? setExpandedKey(null) : setExpandedKey(key);
于 2021-04-28T08:08:43.750 回答