如何在react-admin中将RadioButtonGroupInput与其他renderRadioButton方法一起使用?

时间:2018-08-13 15:04:57

标签: override react-admin

我想使用react-admin的RadioButtonGroupInput,但我需要对其生成的Radio所使用的样式进行更多控制。

它使用renderRadioButton(箭头函数作为Class属性)来生成Radio。如何覆盖该方法?

一个真正正确的方向指示符对我来说已经足够了。

这是行不通的:

class CustomizedRadioButtonGroupInput extends RadioButtonGroupInput {
    constructor() {
        super();

        this.renderRadioButton = choice => {
            const {
                optionText,
                optionValue,
                translate,
                translateChoice,
            } = this.props;
            const choiceName = React.isValidElement(optionText) // eslint-disable-line no-nested-ternary
                ? React.cloneElement(optionText, { record: choice })
                : typeof optionText === 'function'
                    ? optionText(choice)
                    : get(choice, optionText);

            console.log('CustomizedRadioButtonGroupInput!!!')
            return (
                <FormControlLabel
                    key={get(choice, optionValue)}
                    value={get(choice, optionValue)}
                    control={<Radio color="primary" />}
                    label={
                        translateChoice
                            ? translate(choiceName, { _: choiceName })
                            : choiceName
                    }
                />
            );
        };
    }
}
  

TypeError:无法添加属性renderRadioButton,对象不可扩展

0 个答案:

没有答案