Reactjs 如何使用react admin';如果没有字段/列名,是否为s ChipField?

Reactjs 如何使用react admin';如果没有字段/列名,是否为s ChipField?,reactjs,material-ui,react-admin,react-final-form,Reactjs,Material Ui,React Admin,React Final Form,我有一个CheckboxGroupInput字段,如下所示: <CheckboxGroupInput source="fruits" choices={[ { 'name': 'apples' }, { 'name': 'pears' } ]} optionValue='name'/> 我想使用ChipField在列表中显示它,这需要源代码,而我没有,因为json是一个纯字符串数组 如果json看起来像fruits:[{'name':'

我有一个
CheckboxGroupInput
字段,如下所示:

   <CheckboxGroupInput source="fruits" choices={[
        { 'name': 'apples' },
        { 'name': 'pears' }
    ]} optionValue='name'/>
我想使用
ChipField
列表中显示它,这需要
源代码,而我没有,因为json是一个纯字符串数组

如果json看起来像
fruits:[{'name':'apples'},{'name':'pears'}],那么源代码就是“name”

           <ArrayField source='fruits'>
                <SingleFieldList>
                    <ChipField source='???' />  
                </SingleFieldList>
            </ArrayField>


如何使用
ChipField
显示普通字符串数组的内容,或者如何告诉
CheckboxGroupInput
生成对象数组而不是字符串数组?

查看演示代码总是一个好主意。我通过修改react admin演示代码中的自定义
ChipField
创建了一个名为
SimpleChipField
的自定义组件。它将整个
记录
显示为标签

import React from 'react';
import Chip from '@material-ui/core/Chip';
import { makeStyles } from '@material-ui/core';

const useStyles = makeStyles({
    main: {
        display: 'flex',
        flexWrap: 'wrap',
        marginTop: -8,
        marginBottom: -8,
    },
    chip: { margin: 4 },
});

const SimpleChipField = ({ record }) => {
    const classes = useStyles();

    return record ? (
        <span className={classes.main}>
            <Chip
                key={record}
                className={classes.chip}
                label={record}
            />
        </span>
    ) : null;
};

SimpleChipField.defaultProps = {
    addLabel: true,
};

export default SimpleChipField;
import React from 'react';
import Chip from '@material-ui/core/Chip';
import { makeStyles } from '@material-ui/core';

const useStyles = makeStyles({
    main: {
        display: 'flex',
        flexWrap: 'wrap',
        marginTop: -8,
        marginBottom: -8,
    },
    chip: { margin: 4 },
});

const SimpleChipField = ({ record }) => {
    const classes = useStyles();

    return record ? (
        <span className={classes.main}>
            <Chip
                key={record}
                className={classes.chip}
                label={record}
            />
        </span>
    ) : null;
};

SimpleChipField.defaultProps = {
    addLabel: true,
};

export default SimpleChipField;
    <ArrayField source="fruits">
        <SingleFieldList>
            <SimpleChipField />
        </SingleFieldList>
    </ArrayField>