我正在使用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)}
/>
}
答案 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 = {}