首页 > 解决方案 > 如何添加反应表默认过滤器

问题描述

我正在使用 react-table 7.0.4 ( https://www.npmjs.com/package/react-table )。我想在第一次加载表时为列“状态”(“leaveRequestStatus”)应用默认过滤器(过滤器是一个下拉列表)。我尝试过这样的“defaultFiltered”,但不起作用,下拉列表中既没有选择“Pending”选项,也没有过滤数据,

const columns = React.useMemo(() => [
{
  Header: 'Status',
  accessor: 'leaveRequestStatus',
  id: 'leaveRequestStatus',
  Filter: SelectColumnFilter,
  filter: 'includes',
},
....

<Table columns={columns} data={data} defaultFiltered={[{id:'leaveRequestStatus', value:'Pending'}]} />

还有另一种方法可以做到这一点吗?谢谢。

标签: javascriptreactjsreact-table

解决方案


 const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } = useTable(
        {
            columns,
            data,
            initialState: {
                filters: [
                    {
                        id: 'leaveRequestStatus',
                        value: 'Pending',
                    },
                ],
            },
        },
        useFilters,

    );

https://react-table.tanstack.com/docs/api/useFilters


推荐阅读