У меня две страницы addressForm.js и index.js. На странице addressForm.js написан код для формы. Пример кода показан ниже.
<Col >
<div style = {{'height': '45px','display':'flex'}}>
<label style = {{'color': '#f5222d', 'paddingTop': '10px','fontFamily': 'SimSun'}}>*</label>
<label style = {{'width':'74px','paddingTop':'8px'}}>Customer Name:</label>
<FormItem >
{getFieldDecorator('Name', {
initialValue: '',
rules: [{
required: true,
message: (
<Tooltip
visible = {true} placement = "topRight"
title = "Please Input Customer Name"
/>
),
}],
})(
<Input placeholder = "Customer Name" style = {{'width':'164px'}} onChange = {(e)=>{e.preventDefault(); e.stopPropagation();
this.handleChangeEvent(0,e, 'Name')}}/>
)}
</FormItem>
</div>
</Col>
На странице index.js функции для формы написаны (Что будет при нажатии кнопки Представлять на рассмотрение). Образец кода:
handleOk = () => {
this.props.form.validateFields((err, values) => {
if (!err) {
/* Code.......*/
}
});
}
Проблема в том, что проверка не работает (т. Е. Проверка проверки не выполняется, и я получаю эту ошибку).
Должен ли я импортировать что-нибудь на страницу index.js, чтобы избежать ошибки?
TypeError: невозможно прочитать свойство validateFields неопределенного ReactJS
this.props.form не определен. Вы можете это проверить ... stackoverflow.com/questions/41296668/…





Что-то в ваших реквизитах не передается или не определяется правильно, что приводит к ошибке TypeError. Похоже, вам может потребоваться явно передать props в вашу функцию handleOk - хотя с предоставленными фрагментами это трудно сказать.
Из документацияform должен быть декорирован Form.create.
If the form has been decorated by Form.create then it has this.props.form property.
class CustomizedForm extends React.Component {}
CustomizedForm = Form.create({})(CustomizedForm);
вы можете решить эту проблему, попробовав этот код:
class Devices extends React.Component {
.................
}
Devices = Form.create({})(Devices);
export default Devices;
Какую ошибку вы получаете?