问题描述
我想弄清楚如何创建一个按钮来重置 PrimeReact 数据表中的列过滤器。我可以单击按钮并将排序放在表格上,但列排序字段中的值仍然存在。我该如何重置该值?
我尝试了很多东西,下面是最新的尝试...
const resetFilters = () => {
console.log('filters',dt.current.getFilters());
let filters = dt.current.getFilters()
for (const filter in filters){
dt.current.filters = filters[filter].value = '';
}
dt.current.reset();
}
当 dt.current.reset()
重置表过滤器时,“3”不会被清除。
解决方法
我认为您可以通过控制 filter
属性轻松启用/禁用列上的过滤器。您可以为此 filter
属性使用状态变量,并在单击按钮时切换该布尔状态变量。这样,当 filter=false
const [filterEnabled,setFilterEnabled] = useState(true)
<Column field="personId" header="PersonID" filter={fiterEnabled} />
// And call setFilterEnabled(false) when button is clicked to reset\disable the filters