如何在react-admin中向列表视图添加永久过滤器功能?

问题描述 投票:1回答:1

我是一个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,也不会影响过滤。

还有其他方法或解决方法吗?

javascript reactjs react-admin
1个回答
0
投票

React-admin不了解您的API如何执行“大于”或“小于”查询(因为对此没有标准)。 react-admin永久过滤器将传递到您的dataProvider,然后将其传递到您的API。

因此,我建议您在列表中使用特殊的过滤键,如下所示:

export const PostList = (props) => (
    <List {...props} filter={{ status_id_gt: 2 }}>
        ...
    </List>
);

然后,在您的dataProvider中,检测该过滤器的用法,并将其转换为您的API期望的“大于”过滤器。

© www.soinside.com 2019 - 2024. All rights reserved.