Verwenden von React-Ureinwohner, ich eine benutzerdefinierte Komponente haben, die wie so von TextInput- erweitert:Reagieren india _this2.refs.myinput.focus ist keine Funktion
TextBox.js
...
render() {
return (
<TextInput
{...this.props}
style={styles.textBox}/>
);
}
...
MyScene.js (Importe TextBox.js)
...
render() {
render(
<View>
<TextBox
rel='MyFirstInput'
returnKeyType={'next'}
onSubmitEditing={(event) => { this.refs.MySecondInput.focus(); }}/>
<TextBox
ref='MySecondInput'/>
</View>
);
}
wenn ich die app und drücken Sie als nächste auf der Tastatur zu bauen, wenn wobei der Schwerpunkt auf MyFirstInput
erwarte ich, dass MySecondInput
im Fokus sein, stattdessen ich den Fehler:
_this2.refs.MySecondInput.focus is not a function
Was könnte der Fehler? Hat es etwas mit dem Umfang von this
zu tun? Vielen Dank.
Ich verwende React-Native aber die meisten der gleichen Prinzipien gelten. Ich log ''this.refs.SecondInput' in die Konsole und meine Komponente wurde zurückgegeben, so dass die Komponente zurückgegeben wird, es ist nur die' .focus() 'Funktion, die nicht zu funktionieren scheint. –
Sie haben tatsächlich eine .focus() implementiert, wenn Sie über refs in den react docs erläutert haben. Sieh dir das an [es6 Beispiel] (https://facebook.github.io/react/docs/more-about-refs.html) – Kevin