如何解决如何在 react-admin 中重用过滤器输入
我希望将 <Input>
过滤器组件作为可重用组件。所以,而不是:
// list.js
<Filter {...props}>
<TextInput source="abc" />
<SelectInput source="foo" choices={[
{ id: 'bar',name: 'bar' },{ id: 'baz',name: 'baz' },]}/>
</Filter>
我想要:
// my-select-input.js
export const MySelectInput = props => (
<SelectInput source="foo" choices={[
{ id: 'bar',]}/>
)
// list.js
<Filter {...props}>
<TextInput source="abc" />
<MySelectInput />
</Filter>
不幸的是,过滤器工具栏中导出组件的位置与“正常”输入组件的其余部分不同。我怀疑它会被装饰,因为它是“正常”的输入组件。
解决方法
React-admin 的 <Filter>
内省其子项以构建过滤器名称列表。如果其中一个孩子没有 source
(或没有 label
),那么它将无法在过滤器下拉列表中列出。
将源设置为 defaultProps 的修复。
// my-select-input.js
export const MySelectInput = props => (
<SelectInput source="foo" choices={[
{ id: 'bar',name: 'bar' },{ id: 'baz',name: 'baz' },]}/>
)
+MySelectInput.defaultProps = {
+ source: "foo",+};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。