Как мне сделать SelectInput, который является частью фильтра, который будет отображаться по умолчанию? - PullRequest
0 голосов
/ 17 октября 2018

У меня есть система admin-on-rest, которая показывает страницу со списком, и у меня есть 2 поля в фильтре, одно (q - свободный текстовый поиск), которое я хочу всегда отображать, а второе -status-select, который я хочу разрешить пользователю удалить (и затем отобразить в списке «добавить фильтр»), но я хочу, чтобы он изначально отображался (чтобы исходное представление / представление по умолчанию фильтровалось только до определенного состояния) сзначок «x» рядом с ним, так что пользователь сможет удалить это значение или изменить его, чтобы увидеть другие фильтры состояния, которые он хочет

не может найти способ сделать это ...

1 Ответ

0 голосов
/ 17 октября 2018

Это объяснено в Списке Документация : вы можете добавить 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 prop для компонента 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>
);
...