1 回答
TA贡献1942条经验 获得超3个赞
您必须创建一个自定义列表渲染器来替代<Datagrid>,并将其作为 的子级传递<List>:
export const ContactList = (props) => {
const classes = useStyles();
return (
<List className={classes.list}>
<ContactSimpleList /<
</List>
)
};
该<List>组件创建一个, 并将,和ListContext放置在其中。因此,您可以通过列表渲染器中的上下文访问此数据:idsdatatotal
import { useListContext } from 'react-admin';
const ContactSimpleList = () => {
const { ids, data } = useListContext();
return (
<>
{ids.map(id => (
<ListItem key={id} button>
<ListItemAvatar>
<Avatar alt="Profile Picture" src={data[id].person}/>
</ListItemAvatar>
<ListItemText primary={data[id].name}/>
</ListItem>
))}
</>
);
}
此外,您尝试渲染的SimpleList 看起来很像由react-admin提供的本机组件:组件<SimpleList>
。您可能不需要编写自定义渲染器。
添加回答
举报