如何在 PrimeReact 数据表中重置列过滤器?

问题描述

我想弄清楚如何创建一个按钮来重置 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”不会被清除。

enter image description here

解决方法

我认为您可以通过控制 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