How to filter data in List Table at the server
i want to filter data that being fetched in my list page but i want to filter it at the server side. so i need to sent role information from frontend to my server to filter the data
useTableuseTableuseTableuseTableuseTableuseTableuseTablefilters.mode"off"filtershandleRoleFilterpermanentFilterpermanentFilterpermanentFilterpermanentFilteraccountaccountvalueListPageimport { useTable } from "@refinedev/core";
import { Table } from "antd";
const ListPage = () => {
const { tableProps, filters, setFilters } = useTable({
// Ensure server-side filtering is enabled
filters: {
mode: "server",
},
});
// Example of setting a filter for role
const handleRoleFilter = (role) => {
setFilters([
{
field: "role",
operator: "eq",
value: role,
},
]);
};
return (
<div>
<button onClick={() => handleRoleFilter("admin")}>Filter Admins</button>
<Table {...tableProps} rowKey="id">
<Table.Column dataIndex="id" title="ID" />
<Table.Column dataIndex="name" title="Name" />
<Table.Column dataIndex="role" title="Role" />
</Table>
</div>
);
};
export default ListPage;import { useTable } from "@refinedev/core";
import { Table } from "antd";
const ListPage = ({ account }) => {
const { tableProps } = useTable({
permanentFilter: [
{
field: "account",
operator: "eq",
value: account, // Set the account dynamically
},
],
});
return (
<Table {...tableProps} rowKey="id">
<Table.Column dataIndex="id" title="ID" />
<Table.Column dataIndex="name" title="Name" />
<Table.Column dataIndex="role" title="Role" />
</Table>
);
};
export default ListPage;