Bor*_*s K 1 reactjs react-table
我正在使用React-Table 6.7.6,并希望以编程方式重置所有过滤器.
现在,我有这个代码:
return (
<div>
<ReactTable
className="-striped -highlight"
data={data}
columns={columns}
filterable={true}
defaultFilterMethod={(filter, row, column) => {
const id = filter.pivotId || filter.id;
return row[id] !== undefined
? String(row[id]).includes(filter.value)
: true;
}}
/>
</div>
);
Run Code Online (Sandbox Code Playgroud)
有没有办法重置过滤器值而不会过多地挖掘这个东西的内脏?
得到它了.
1)当您启动父组件时,将其设置为有状态并为其提供带有空数组的"已过滤"属性,如下所示:
constructor() {
super();
this.state = {
filtered: []
};
}
Run Code Online (Sandbox Code Playgroud)
2)设置React Table组件时,将其"filtered"属性连接到state,如下所示:
filtered={this.state.filtered}
Run Code Online (Sandbox Code Playgroud)
3)将过滤连接到状态,如下所示:
onFilteredChange={filtered => {this.setState({ filtered });}}
Run Code Online (Sandbox Code Playgroud)
4)使用这样的onClick方法连接一个按钮或任何你想重置过滤器的东西:
onClick={()=>this.setState({ filtered: [] })}>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3778 次 |
| 最近记录: |