событие onchange не работает в компоненте reactjs

#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 для установки начального значения.