首页 > 解决方案 > 如何使用 ra-data-firestore-client 在 react-admin 中实现搜索

问题描述

在我的项目中,我使用 react-admin(版本 ^2.9.3)作为后台,使用 ra-data-firestore-client(版本 ^0.1.11)作为 react-admin firestore 提供者。

根据 react-admin documentation added-search-and-filters-to-the-list,我做了完全相同的事情,如下所示:


    // ... Some imports ...

    const EventFilter = (props) => (
        <Filter {...props}>
            <SearchInput label="Rechercher" source="q" alwaysOn />
        </Filter>
    );
    export const EventList = props => (
      <List title="Tous les événements" filters={<EventFilter />} {...props}>
        <Datagrid rowClick="show">
            <TextField source="title" label="Titre" />
            <TextField source="place" label="Lieu" />
            <EditButton />
        </Datagrid>
      </List>
    );


    // ... Some imports ...

    import Dashboard from './views/Dashboard';
    import { EventList } from './views/event/Events';

    const firebaseConfig = {};
    const trackedResources = [{ name: 'events', isPublic: true }];

    const authConfig = {userProfilePath: '/admins/', userAdminProp: 'isAdmin'};

    const messages = {fr: frenchMessages, en: englishMessages};
    const i18nProvider = locale => messages[locale];

    const dataProvider = base64Uploader(RestProvider(firebaseConfig, { trackedResources }));

    const LoginPage = () => <Login backgroundImage={require('./assets/login_image.jpg')} />;

    function App() {
        return (
            <Admin 
                locale="fr" i18nProvider={i18nProvider}
                title="Backoffice"
                dashboard={Dashboard}
                dataProvider={dataProvider} 
                authProvider={AuthProvider(authConfig)}
                loginPage={LoginPage}
            >   
                <Resource name="events" 
                          list={EventList}  
                          options={{ label: 'Evénements' }}  
                          icon={EventIcon} 
                />
            </Admin>     
        );
    }

    export default App;

我输入的任何搜索词,结果总是“无结果”。我不明白为什么!可能是我错过了一些东西。请帮我。

标签: reactjsgoogle-cloud-firestorereact-admin

解决方案


Firestore 目前不支持开箱即用的全文搜索。因此,ra-data-firestore-client 库不支持不存在的功能。


推荐阅读