从Ant Design Table

时间:2019-05-14 07:32:20

标签: reactjs antd

我正在使用Ant设计表来显示一些数据。新数据每隔一秒钟到达一次。当用户单击按钮时,我需要将当前表数据导出到XSL。

我以这种方式获取当前数据:

onChange={(pagination, filter, sorter, currentTable) => this.onTableChange(filter, sorter, currentTable)}. 

该功能正常工作,可以为我提供优质且经过过滤的数据,但是当我获取新数据时,我无法获得这些新数据,因为在没有更改过滤器或排序设置的情况下,不会触发此功能。有什么方法可以获取当前的表数据,而无需使用虚拟更改过滤器来触发onChange函数?

标题和页脚仅返回当前页面数据。

代码在这里显示

 {    <Table
                    dataSource={this.props.data}
                    rowKey={(record) => { return record.id}}
                    columns={this.state.Columns}
                    pagination={this.state.pageSizeOptions}
                    rowClassName={(record) => { return 
this.getRowClassNames(record) }}
                    expandedRowKeys={ this.state.expandedRowKeys }
                    expandedRowRender={record => { return 
this.getEventsRows(record) }}
                    onExpand={(expanded, record) => { 
this.onExpandRow(expanded, record.id) }}
                    expandRowByClick={false}
                    onChange={(pagination, filter, sorter, currentTable) 
=> this.onTableChange(filter, sorter, currentTable)}
                />
 }

2 个答案:

答案 0 :(得分:1)

您可以在组件状态下存储分页,排序和过滤数据。您也可以将这些参数传递到redux状态并存储在那里。如果您可以共享您的代码,我可以提供更具体的答案。

在下面,您可以找到我的永久性过滤器解决方案。我正在将过滤器参数发送到API并获取过滤数据。如果要在组件中对其进行过滤,则可以使用组件生命周期或render方法。

   -X     Do  not save extra file attributes (Extended Attributes on OS/2,
          uid/gid and file times on Unix).

答案 1 :(得分:0)

这是因为您将任一列,数据源变量作为对象而不是数组。 写 this.state.someVariable=[] 代替 this.state.someVariable = {}