【发布时间】:2020-02-28 23:54:05
【问题描述】:
使用 React Admin 可以将过滤器添加到列表组件。在演示中可以看到一个例子:https://marmelab.com/react-admin-demo/#/commands
此特定组件的代码:https://github.com/marmelab/react-admin/blob/master/examples/demo/src/orders/OrderList.js
const OrderFilter = withStyles(filterStyles)(({ classes, ...props }) => (
<Filter {...props}>
<SearchInput source="q" alwaysOn />
<ReferenceInput source="customer_id" reference="customers">
<AutocompleteInput
optionText={choice =>
`${choice.first_name} ${choice.last_name}`
}
/>
</ReferenceInput>
<DateInput source="date_gte" />
<DateInput source="date_lte" />
<TextInput source="total_gte" />
<NullableBooleanInput source="returned" />
</Filter>));
...
const OrderList = ({ classes, ...props }) => (
<List
{...props}
filterDefaultValues={{ status: 'ordered' }}
sort={{ field: 'date', order: 'DESC' }}
perPage={25}
filters={<OrderFilter />}
>
<StyledTabbedDatagrid />
</List>
);
但是,我想不出将相同的功能添加到 ReferenceManyField。例如,在演示网站中,这将是客户编辑组件的“订单”选项卡。有没有办法为 ReferenceManyField 配置过滤器组件?
【问题讨论】:
标签: reactjs react-admin