首页 > 解决方案 > 参考字段不会在自定义行反应管理员中呈现

问题描述

出于某种原因,当我在我的 List 组件中使用自定义 DataGridRow 时,它不会呈现 ReferenceField 但是当我使用简单的 DataGrid 时,它会呈现。

这是我的简单代码:

const makeList = (formActionType) => (table, filterCallback) => (props) => {
  const record = useRecordContext()
  const FormComponent = path([formActionType, 'component'])(formActionTypeMapper)
  const LayoutComponent = path([formActionType, 'layout'])(formActionTypeMapper)
  const ListFilter = listFilter(table)
  const filter = filterCallback ? filterCallback(record) : null

  return (
    <FormComponent {...props} filter={filter} pagination={<ListPagination />} filters={<ListFilter />}>
      <Datagrid>
        { renderFields(formActionType, table) }
      </Datagrid>
    </FormComponent>
  )
}

参考字段看起来像这样:

(
    <ReferenceField
      label={label}
      source={primarykey}
      reference={reference}
      link={(record, reference) => makeFilterLink(reference, { [foreignkey]: record[primarykey] })}
    >
      <TextField source={target || foreignkey} />
    </ReferenceField>
 )

结果:在此处输入图像描述

然后我将列表中的 DataGrid 更改MyDataGrid为与文档中完全相同的组件https://marmelab.com/react-admin/List.html#the-datagrid-component 然后我的 ReferenceField 根本不会呈现。道具是一样的:

在此处输入图像描述

标签: reactjsreact-admin

解决方案


推荐阅读