gpt4 book ai didi

javascript - 保留 Accordion 和扩展表行的状态

转载 作者:行者123 更新时间:2023-11-30 13:51:33 25 4
gpt4 key购买 nike

Ant Design 中是否有任何方法可以捕获特定表格行是否展开的状态,并在页面刷新或组件重新挂载时应用该状态(即在 SPA 上的不同路由之间导航时?)

还有一种方法可以使表格行的扩展像 Accordion 一样工作。 IE。一次只能展开一行?

在这一点上,我只是在研究 Ant-D,阅读文档并尝试小代码片段。

但是我找不到关于如何执行上述操作的文档(即保留/恢复表/ Accordion 的状态),所以我不知道该尝试什么。我当然可以构建自定义的点点滴滴,但这会破坏拥有一个好的框架的目的。

希望有更优雅的解决方案。

最佳答案

检查下一个例子,你应该引用的 Prop 是:

  • onExpandedRowsChange
  • onExpand
  • expandedRowKeys
import { Table, Typography, Select, Radio } from 'antd';

const expandedRowRender = record => (
<Typography.Text code>{record.key}</Typography.Text>
);

export default function App() {
const [expandedRow, setExpandedRow] = useState(0);
const [radioValue, setRadioValue] = useState('accordion');

const [currentRow, setCurrentRow] = useState([]);
return (
<FlexBox>
<Radio.Group
style={{ width: 200 }}
value={radioValue}
onChange={e => setRadioValue(e.target.value)}
>
<Radio value="accordion">Accordion</Radio>
<Radio value="rowState">rowState</Radio>
</Radio.Group>
{radioValue === 'accordion' ? (
<Table
dataSource={dataSource}
columns={columns}
onExpand={(isExpanded, record) =>
setExpandedRow(isExpanded ? record.key : undefined)
}
expandedRowRender={expandedRowRender}
expandedRowKeys={[expandedRow]}
/>
) : (
<>
<Typography.Title>{currentRow}</Typography.Title>
<Table
dataSource={dataSource}
columns={columns}
expandedRowRender={expandedRowRender}
onExpandedRowsChange={setCurrentRow}
/>
</>
)}
</FlexBox>
);
}

Edit Q-58136315-TableRows

关于javascript - 保留 Accordion 和扩展表行的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58136315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com