我是一个react-admin列表视图,我只想显示状态值> 2的记录。 status
是自定义字段。
[react-admin文档的永久过滤器部分(请参阅https://marmelab.com/react-admin/List.html)仅指检查特定字段值的静态过滤器,例如
export const PostList = (props) => (
<List {...props} filter={{ is_published: true }}>
...
</List>
);
但我想通过类似的过滤器功能:
export const PostList = (props) => (
<List {...props} filter={()=>(status.id > 2)}>
...
</List>
);
不幸的是,这不起作用。 status
是未知的,即使我返回静态的true或false,也不会影响过滤。
还有其他方法或解决方法吗?
React-admin不了解您的API如何执行“大于”或“小于”查询(因为对此没有标准)。 react-admin永久过滤器将传递到您的dataProvider,然后将其传递到您的API。
因此,我建议您在列表中使用特殊的过滤键,如下所示:
export const PostList = (props) => (
<List {...props} filter={{ status_id_gt: 2 }}>
...
</List>
);
然后,在您的dataProvider中,检测该过滤器的用法,并将其转换为您的API期望的“大于”过滤器。