#react-native #textinput
#react-native #textinput
Вопрос:
Я пытаюсь очистить строку, которую я ранее установил в состояние, когда я очищаю TextInput. Я пробовал приведенный ниже код, но он не очищает строку в состоянии. Что я делаю не так, пожалуйста?
<TextInput
ref={(el) => this.myInput = el}
onChangeText={this.onChangeText}
text={this.state.mytext}
placeholder='Enter Text'
placeholderTextColor='#999'
keyboardType='numeric'
returnKeyType='next'
/>
onChangeText = (t) => {
this.props.setData('mytext', t)
if(t == ''){
this.setState({
newText: ''
})
}
}
Ответ №1:
Вы не передаете value
свойство TextInput
. В вашем случае TextInput
не знает, какое значение искать.
<TextInput
value={this.state.yourValue}
onChangeText={yourValue => this.setState({ yourValue }) }
/>
Ответ №2:
Я думаю, проблема в prop. Не совсем уверен, что в text
в TextInput
вызывается prop. Также, если может потребоваться использовать setState для изменения без проверки.
<TextInput
ref={(el) => this.myInput = el}
onChangeText={this.onChangeText}
value={this.state.mytext}
placeholder='Enter Text'
placeholderTextColor='#999'
keyboardType='numeric'
returnKeyType='next'
/>
onChangeText = (t) => {
this.props.setData('mytext', t);
this.setState({
newText: t
});
}