Ситуация: У меня есть класс со своими собственными методами.Этот класс создается в компоненте React.
Что мне нужно: Во время одного из методов в классе он изменяет значение ввода (this.$el
), используя .val()
, но я слушаю изменения этого входа в React.component через onChange
.Мне нужно передать значение, которое я использую, чтобы установить значение входа (через this.$el.val(value)
) в компонент React, чтобы изменить его состояние.
Что я пробовал: Я пытался связать .change()
и trigger('change')
с val(value)
, но это никак не влияет.
Итак, мне нужно иметь доступ к значению, которое я использую в .val(value)
в моем компоненте React, КОГДА он установлен в методе класса.Я думал об использовании метода и вызове этого метода для componentWillUpdate
, но компонент не обновляется, поскольку установка входного значения с помощью val()
не вызывает изменения.
Есть идеи?
Код компонента:
// Create a ref to manage blur/focus state on the search input
this.inputRef = React.createRef()
// Setup initial state
this.state = {
supersearchResults: [],
value: this.props.initialValue || ''
}
this.onInputChange = this.onInputChange.bind(this)
tag('input', {
autoComplete: 'off',
className: blockElement('search-input'),
onChange: this.onInputChange,
placeholder: 'Find people, collections and pages',
ref: this.inputRef,
type: 'text',
value: this.state.value
})
Код класса: this
= класс this.$el
= вход
// What is happening:
// A user types in an input, suggestions display in a list, when you
// select a suggestion, it calls the below to change the input value
this.$el.val(complete)
this.$el.blur()
this.hide()