#javascript #reactjs #variables #onchange
#javascript #reactjs #переменные #onchange
Вопрос:
У меня есть следующий компонент React, чтобы получить значение ввода, а затем распечатать его в формате PDF:
onChange = input => e => {
this.setState({
[input]: e.target.value
});
}
и
<input type="text" onChange={this.onChange('prop1')} >
его работа хороша, если я напишу что-то в поле ввода, я могу распечатать это в формате PDF
но если я передам динамическое значение на вход, например, так:
<input type="text" value={this.state.slices[6].transform === '1' ? '10' : this.state.slices[6].transform.replace('0.','')} onChange={this.onChange('prop1')} >
значение будет отображаться на экране, но я не могу распечатать его в формате PDF, пока не изменю текст во входных данных, я думаю, что onchange
в этом случае метод не работает.
Комментарии:
1.
onChange
событие срабатывает только после ввода чего-либо во входных данных. Установка значенияvalue
атрибута не вызоветonChange
событие.2. Также откройте консоль инструментов разработчика. Посмотрите, есть ли какая-либо контролируемая / неконтролируемая ошибка компонента или нет. Спасибо.
3. @Yousaf итак, какое событие будет работать в моем случае, пожалуйста?
4. @rajeshpillai нет, ошибок нет
5. Вы хотите установить начальное значение ввода? Если да, то сделайте ввод контролируемым компонентом , а затем используйте
useEffect
hook для установки начального значения.