Остановить отправку формы в React Antd Design при нажатии клавиши ввода внутри поля FormDecortor

У меня есть ввод оформленной формы внутри формы реакции Antd, когда я нажимаю клавишу ввода, срабатывает проверка отправки формы по умолчанию, которую я не хочу. Я дал onPressEnter ввода, но он никогда не запускается и форма не отправляется, поэтому я хочу знать, как избежать такого поведения в Antd с помощью React.

<FormInput
                                        validateTrigger={['onBlur']}
                                        rules={[{
                                            type: 'email', message: 'The input is not valid E-mail!',
                                        }]}
                                        form={form}
                                        inputID={"email"}
                                        onPressEnter={this.onPressEnter}
                                    />


<Form onSubmit={this.handleSubmit}

handleSubmit = (e) => {
        console.log("hello");
        e.preventDefault();
    }

person Ajay Beniwal    schedule 06.08.2018    source источник


Ответы (1)


В вашем теге <input /> вы можете использовать метод onKeyDown для предотвращения дефолта следующим образом:

onKeyDown={(e)=> e.keyCode == 13 ? e.preventDefault(): ''}

Я создал рабочий пример для codeandbox.io.

person Triyugi Narayan Mani    schedule 06.08.2018
comment
keyCode устарел. - person AgentNirmites; 22.03.2021
comment
Проблема в том, что это также отключает поведение TextArea onEnter newLine и другие вещи. К сожалению, это приводит к некоторым ошибкам. - person BenjaminK; 20.04.2021