首页 > 解决方案 > 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.

我缺少什么具体的东西吗?

标签: reactjsreact-admin

解决方案


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

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

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


推荐阅读