我正在通过redux-form的Field创建一个Custom输入。我使用“名称”道具来匹配要绑定的记录属性,但是当我创建或编辑记录时,post参数不会显示输入值或属性名称。
我已经尝试了几种有关“自定义输入”的react-admin教程,但没有结果。
环境
反应管理员版本:2.7.2 反应版本: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字段的组件连接到redux存储:
export default connect(null, null)(Tariff);