[英]How to bind custom (redux-form's Field) input prop to record?
我正在通过 redux-form 的字段创建自定义输入。 我使用“名称”道具来匹配我想要绑定的记录属性,但是当我创建或编辑记录时,post 参数既不显示输入值也不显示属性名称。
我已经以多种方式尝试了关于自定义输入的 react-admin 教程,但没有结果。
环境
React-admin 版本:2.7.2 React 版本:16.8.3 浏览器:Chrome/Firefox
// tariff.js
import TextField from '@material-ui/core/TextField';
import { Field } from 'redux-form';
const renderTextField = ({ input, label, meta: { touched, error }, ...custom }) => {
const { defvalue } = custom;
return (
<TextField
label={label}
error={!!(touched && error)}
helperText={touched && error}
{...input}
{...custom}
value={defvalue}
/>
)
};
class Tariff extends React.Component {
state = {
tariffs: [],
selectedTariff: {}
}
// other methods...
render() {
const { tariffs, selectedTariff } = this.state;
return (
<React.Fragment>
<Autocomplete suggestions={tariffs}
label={'Elija una tarifa'}
onChange={this.onTariffSelected}
defaultValue={''} />
<Field name="tariff" component={renderTextField} label="Tarifa" defvalue={selectedTariff.amount || 0} />
</React.Fragment>
)
}
}
// Customer.js
export const CustomerCreate = (props) => (
<Create title="Crear Alumno" {...props}>
<SimpleForm defaultValue={{status: true, identification_type: 'DNI'}}>
<TextInput label="Nombre" source="name" validate={required()}
<Tariff/>
</SimpleForm>
</Create>
自定义输入道具“名称”(通过 redux-form 字段)在保存或编辑时添加到记录中。
<Field name="tariff" defvalue={0}}/>
我希望在 POST/PUT 记录上有“关税”:0 在他的身上。
解决方案:
只需将具有 redux 的 Field 的组件连接到 redux 存储:
export default connect(null, null)(Tariff);
您应该以 redux 形式使用 initialValues。 看到这里。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.