expandedRowRender ,onexpand,expandedRowKeys,同时使用发生冲突?!

发布于 2022-09-07 21:44:00 字数 1053 浏览 17 评论 0

expandedRowRender ,onexpand,expandedRowKeys,同时使用发生冲突?!
  • showListDom:存放展开行数据
  • expandedFunction:请求后端数据
  • arr:存放当前行的id数组(只有一项)

render方法内:

<Table
    dataSource={this.state.SampleData}
    rowKey={record => record.id || record.key}
    columns={columns}
    onChange={this.handleStandardTableChange}
    pagination={this.state.pagination}
    loading={this.state.loading}
    expandedRowRender={(record) => { return this.state.showListDom[record.id] || null; }}
    onExpand={(expanded, record) => { return this.expandFunction(expanded, record) || null;}}
   expandedRowKeys={this.state.arr}//加上这行就报错
  />


报错信息:

clipboard.png


想要达到的效果是:点击一行时,其他行自动收缩,每次只展开一行。
不加expandedRowkeys时,可以达到效果:在一行(a行)展开的情况下,去点击另一行(b行)的“+”展开符,b行可以得到数据并展开,同时,a行数据被置为空,但并未收缩(展开符仍是”+”,下方显示空表)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

溺深海 2022-09-14 21:44:00

用state里面的arr直接存储expandedrowKeys,
this.state.arr是这样的:空、不空、空、不空...
使其处于不稳定的状态,应该使用稳定的数组存储,然后定期赋值给state里面的expandedrowskeys
this.state.expandedrowsKeys是始终有一项值的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文