admin-on-rest - 显示一个没有按钮的带有过滤器表单的列表

admin-on-rest - show a list with a filter form without a button

我正在尝试使用 admin-on-rest 来显示带有过滤器表单但没有过滤器按钮的列表。我按照文档并向过滤器添加了一个 "context='form'" 参数。我收到此异常:

编辑:我按照建议添加了 alwaysOn 并且表单组件呈现了两次。请参阅随附的屏幕截图。

proxyConsole.js:56 Warning: Failed prop type: The prop `hideFilter` is marked as required in `FilterForm`, but its value is `undefined`.
in FilterForm (created by Form(FilterForm))
in Form(FilterForm) (created by Connect(Form(FilterForm)))
in Connect(Form(FilterForm)) (created by ReduxForm)
in ReduxForm (created by getContext(ReduxForm))
in getContext(ReduxForm) (created by Filter)
in Filter (at index.js:31)
in CommandFilter (at index.js:49)
in div (created by CardActions)
in CardActions (created by onlyUpdateForKeys(Actions))
in onlyUpdateForKeys(Actions) (created by List)
in div (created by Card)
in div (created by Paper)
in Paper (created by Card)
in Card (created by List)
in div (created by List)
in List (created by getContext(List))
in getContext(List) (created by Connect(getContext(List)))
in Connect(getContext(List)) (at index.js:49)
in CommandList (created by Route)
in Restricted (created by Connect(Restricted))
in Connect(Restricted) (created by Route)
in Route (created by CrudRoute)
in Switch (created by CrudRoute)
in CrudRoute (created by Route)
in Route (created by AdminRoutes)
in Switch (created by AdminRoutes)
in AdminRoutes (created by Layout)
in div (created by Layout)
in div (created by Layout)
in div (created by Layout)
in div (created by Layout)
in MuiThemeProvider (created by Layout)
in Layout (created by WithWidth)
in EventListener (created by WithWidth)
in WithWidth (created by Connect(WithWidth))
in Connect(WithWidth) (created by Connect(Connect(WithWidth)))
in Connect(Connect(WithWidth)) (created by Route)
in Route (created by Admin)
in Switch (created by Admin)
in div (created by Admin)
in Router (created by ConnectedRouter)
in ConnectedRouter (created by Admin)
in TranslationProvider (created by withContext(TranslationProvider))
in withContext(TranslationProvider) (created by Connect(withContext(TranslationProvider)))
in Connect(withContext(TranslationProvider)) (created by Admin)
in Provider (created by Admin)
in Admin (at App.js:37)
in App (at index.js:16)

如果您的意思是像文档中那样添加过滤器按钮 https://marmelab.com/admin-on-rest/Tutorial.html#filters,那么您可以为过滤器设置选项 alwaysOn

const ClientFeedbackFilter = (props) => (
  <Filter {...props}>
    <CheckboxGroupInput source="read" choices={[
        { id: 'true', name: 'Read' },
        { id: 'false', name: 'Unread' },
    ]} alwaysOn />
    <TextInput source="by_content" alwaysOn />
  </Filter>
);

我的错误是添加了 "context=form"。我只需要将所有字段设置为 alwaysOn。现在它可以正确呈现并且错误消失了。

谢谢,wesley6j!

https://github.com/marmelab/admin-on-rest/issues/750