Привет, я нашел ответ на это для одной формы поля ... но что, если у нас есть форма с несколькими полями?Как отключить кнопку отправки формы, пока все поля ввода не будут заполнены ?! ReactJS ES2015
это нормально для отключения, если у вас есть 1 поле, но он не работает, если вы хотите, чтобы отключить его на основе многих областях:
getInitialState() {
return {email: ''}
},
handleChange(e) {
this.setState({email: e.target.value})
},
render() {
return <div>
<input name="email" value={this.state.email} onChange={this.handleChange}/>
<button type="button" disabled={!this.state.email}>Button</button>
</div>
}
})
Я не знаю Реагировать, но я предполагаю, что вы могли бы добавить 'isSubmitAllowed' в состоянии объекта и ссылки, что внутри кнопки в' отключена 'свойство. И тогда 'isSubmitAllowed' будет реализовывать любую логику, необходимую для проверки завершения формы. – nnnnnn
Полностью зависит от конкретной формы. Ничто не мешает вам иметь флаг для каждой кнопки. –
IMO - самый простой и надежный способ сделать это, вычисляет его внутри метода рендеринга. Для ясности вы можете рассчитать, например. 'const canSubmit = ...' в отдельной строке перед оператором 'return' и установить' disabled = {! canSubmit} 'в качестве опоры для кнопки. – ArneHugo