TypeError: Невозможно прочитать свойство 'validateFields' из неопределенного ReactJS - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть две страницы addressForm.js и index.js .На странице addressForm.js указан код для формы.Пример кода показан ниже.

<Col >
                    <div style={{'height': '45px','display':'flex'}}> 
                    <label style={{'color': '#f5222d', 'paddingTop': '10px','fontFamily': 'SimSun'}}>*</label>&nbsp;
                    <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.handleChange(0,e, 'Name')}}/>
                        )}                    
                    </FormItem>
                    </div>
                    </Col>

На странице index.js написано описание функций формы (что происходит при нажатии кнопки Submit ).Пример кода:

handleOk = () => {
    this.props.form.validateFields((err, values) => {
        if (!err) {
          /* Code.......*/
 }
    });
    }

Проблема заключается в том, что проверка не работает (т. Е. Проверка проверки не выполнена, и я получаю эту ошибку).

Должен ли я импортировать что-либо в индекс.js страница, чтобы избежать ошибки?

Ответы [ 3 ]

0 голосов
/ 06 декабря 2018

Из документации , form должен быть оформлен как Form.create.

Если форма была оформлена с помощью Form.create, то она имеет this.props.свойство формы.

class CustomizedForm extends React.Component {}

CustomizedForm = Form.create({})(CustomizedForm);
0 голосов
/ 17 февраля 2019

Вы можете решить эту проблему, попробовав этот код:

class Devices extends React.Component {
   .................
}

Devices = Form.create({})(Devices);
export default Devices;
0 голосов
/ 06 декабря 2018

Что-то в ваших реквизитах не передается или не определяется правильно, что приводит к ошибке TypeError.Похоже, вам может понадобиться явно передать реквизиты в вашу функцию handleOk - хотя это трудно определить с помощью предоставленных фрагментов.

...