0

我正在尝试使用 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)
4

2 回答 2

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>
);
于 2017-06-10T02:26:08.043 回答
0

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

谢谢,韦斯利6j!

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

于 2017-06-12T06:58:26.213 回答