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

时间:2017-06-08 20:53:33

标签: admin-on-rest

我正在尝试使用admin-on-rest来显示带有过滤器表单的列表,但没有过滤器按钮。我按照文档并在过滤器中添加了“context ='form'”参数。我得到了这个例外:

编辑:我按照建议添加了alwaysOn,并且表单组件呈现两次。见附件截图。

enter image description here

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)

2 个答案:

答案 0 :(得分:1)

如果您的意思是按文档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>
);

答案 1 :(得分:0)

我的错误是添加了“context = form”。我只需要将所有字段设置为alwaysOn。现在它正确渲染,错误就消失了。

谢谢,wesley6j!

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