我是一个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期望的“大于”过滤器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句