我可以将这些选定的过滤器存储在变量中吗?

Can I store these selected filters in a variable?

是否可以将这些选定的过滤器存储在一个变量中,并在用户选择另一组过滤器时更新它?如果可以,怎么做?

Codesandbox:https://codesandbox.io/s/muidatatables-custom-toolbar-forked-lrbf16

为此,您可以使用 onFilterChange 回调,如下所示:

const options = {
...

    onFilterChange: (column, filterList, type) => {
            const selectedFilters = this.extractFilters(filterList);
            console.log(selectedFilters);
          }
}

每次过滤器列表更改时都会调用此函数。

然后,您声明函数 extractFilters,它将从传递的 filterList 中提取所有选定的过滤器,并且它将 return 包含所有选定过滤器的数组对象:

 extractFilters = (filterList) => {
        let selectedFilters = [];
        filterList.forEach((filter) => {
          if (filter.length > 0) {
            selectedFilters.push(...filter);
          }
        });
        return selectedFilters;
      };

您可以将此数组存储在状态中。

Here 是工作示例。