在我的项目中,我在后台使用react-admin(版本^ 2.9.3),在React-admin Firestore提供商中使用ra-data-firestore-client(版本^ 0.1.11)。
根据react-admin文档adding-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;
我输入的任何搜索词,结果始终为“无结果”。我不明白为什么!可能是我缺少了一些东西。请帮助我。
开箱即用的当前Firestore does not support full text search。因此,ra-data-firestore-client库不支持不存在的功能。