在react-admin中有条件地渲染TextFields

时间:2020-03-13 22:18:28

标签: reactjs react-admin

在react-admin中,我有一个Show Show,其中包含一个正常运行的DataGrid表,其中包含一些通过react-admin Fields呈现的基本信息。

例如:

return (
  <Show {...props}>
    <GridLayout>
      <ResourceGrid item ifPresent='propTitle'>
        <TextField source='status' />
      </ResourceGrid>
    </GridLayout>
  </Show>
);

根据它们是否存在于传递到该ResourceGrid的记录中(在本例中为propTitle),我需要渲染一些其他TextField。我试过使用这样的容器:

const Container = (props) => {
  return props.record.conditional ? (
    <Fragment>
      <TextField record={props.record} label='A' source='conditional' />
      <TextField record={props.record} label='B' source='otherConditional' />
    </Fragment>
) : null;
}

...
...
      <ResourceGrid item ifPresent='propTitle'>
        <TextField source='status' />
        <Container />
      </ResourceGrid>

但这似乎不起作用。即使我将status作为Conditional的源传递,内容也会呈现,但标签不会呈现。

我无法在react-admin中找到有关条件渲染的任何有用资源,而我所做的很少是关于使用一些外部值,而不是prop本身的值。

0 个答案:

没有答案