微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

React admin 导入按钮referenceManyField?

如何解决React admin 导入按钮referenceManyField?

我想为我的 React 管理应用程序添加一个导入按钮。

此导入将创建与另一条记录相关的记录。例如,我有一份属于公司的合同清单。

我看到了这个仓库:https://github.com/benwinding/react-admin-import-csv

我想知道 referenceManyField 是否有类似的东西。

解决方法

我找到了一个解决方案,以防有人感兴趣。

我没有使用 ReferenceManyField,而是在 Show 组件中使用了 List

为了能够做到这一点,我必须覆盖列表的道具以指定我想要引用的资源。

我还必须将显示项目 id 作为列表组件的 prop 传递并按 id 过滤列表。

let companyId = '';

const ListActions = (props) => {
  const { className } = props;
  return (
    <TopToolbar className={className}>
       <ImportButton {...props} />
    </TopToolbar>
  );
};

export const ContractRow = ({ contractCompanyId }) => {
  companyId = contractCompanyId;
  const fakeProps: ListProps = {
    basePath: '/contracts',hasCreate: false,hasEdit: false,hasList: true,hasShow: false,location: { pathname: '/',search: '',hash: '',state: undefined },match: { path: '/',url: '/',isExact: true,params: {} },options: {},permissions: null,resource: 'contracts',};
 
  return (
    <List
      {...fakeProps}
      filter={{ _company_id: contractCompanyId }}
      actions={<ListActions />}
    >
      <Datagrid className={classes.insideTable}>
        <TextField source="name" />
      </Datagrid>
    </List>
  );
};

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。