React-Admin Filter+SearchInput 搜索时没有效果

问题描述

我有以下过滤器组件代码

import { Filter,SearchInput} from 'react-admin';

const CustomerFilter= props => (
    <Filter {...props}>
        <SearchInput source='id' resettable alwaysOn />
    </Filter>
);

export default CustomerFilter;

这里实现了:

import CustomerFilter from './CustomerFilter';
[...]
return (
    <List {...props} filters={ <CustomerFilter /> }>

结果的用户界面很棒 - 我可以在顶部看到一个搜索栏。搜索它会更改 URL,附加 ?filter=%7B"id" 等。但是,用户界面不会更新:只有我能看到的 URL 发生了变化。即使我输入 zzzzzz

有什么我遗漏的吗?

解决方法

检查浏览器 DevTools 的网络选项卡:您会看到 react-admin 将 id 过滤器发送到您的 API。它发送此过滤器的方式取决于您的 dataProvider,但对于 ra-data-simple-rest,它看起来像这样:

GET https://path/to/my/api/foo?id=123

您的 API 有责任使用这些查询参数来过滤结果。