【问题标题】:Access filtered data in ReactTable访问 ReactTable 中的过滤数据
【发布时间】:2018-06-15 16:39:44
【问题描述】:
【问题讨论】:
标签:
javascript
reactjs
react-table
【解决方案1】:
React table 可以将 render prop 作为子项,您可以从传递给该 render fn 的 table state 中挑选数据,
<ReactTable {...props}>
{(state, makeTable, instance) => {
// take data from state, resolvedData, or sortedData, if order matters (for export and similar)
// you need to call makeTable to render the table
return (
<>
{makeTable()}
{<p>{`Showing ${state.resolvedData.length} entries`}</p>}
</>
);
}}
</ReactTable>
【解决方案2】:
如果您使用带有钩子的 React 16.7-alpha+,您也可以执行以下操作。
import { useState, useRef } from 'react';
const [pageSize, setPageSize] = useState(20);
let reactTable = useRef(null);
<ReactTable
ref={(r) => (reactTable = r)}
onFilteredChange={() => {
setPageSize(reactTable.getResolvedState().sortedData.length);
}}
/>
【解决方案3】:
我刚刚通过引用这个article找到了答案
得到如下表的引用:
<ReactTable
ref={(r) => {
this.selectTable = r;
}}
...
/>
在你的函数中
const currentRecords = this.selectTable.getResolvedState().sortedData;