如何使SelectInput成为默认显示的过滤器的一部分?

时间:2018-10-17 15:27:56

标签: reactjs admin-on-rest react-admin

我有一个休息时管理系统,该系统显示带有列表的页面,并且在过滤器中有2个字段,一个我想一直显示的字段(q-自由文本搜索),第二个字段是status-select,我希望允许用户删除它(然后出现在“添加过滤器”列表中),但我希望它最初显示(以便将初始/默认视图过滤为仅特定状态),旁边的“ x”图标,以便用户可以删除该值,或对其进行更改以查看他们想要的其他任何状态过滤

找不到方法...

1 个答案:

答案 0 :(得分:0)

列表documentation中对此进行了说明:您可以向希望始终显示的过滤器添加alwaysOn道具。

const PostFilter = (props) => (
    <Filter {...props}>
        <TextInput label="Search" source="q" alwaysOn />
        <TextInput label="Title" source="title" defaultValue="Hello, World!" />
    </Filter>
);

export const PostList = (props) => (
    <List {...props} filters={<PostFilter />}>
        ...
    </List>
);

要为过滤器设置默认值,还必须在filterDefaultValues组件上设置List属性:

const PostFilter = (props) => (
    <Filter {...props}>
        <TextInput label="Search" source="q" alwaysOn />
        <BooleanInput source="is_published" alwaysOn />
        <TextInput source="title" defaultValue="Hello, World!" />
    </Filter>
);

export const PostList = (props) => (
    <List {...props} filters={<PostFilter />} filterDefaultValues={{ is_published: true }}>
        ...
    </List>
);