React Native - TextInput 焦点而 onClick 文本标签不起作用
React Native - TextInput focus while onClick Text Label won't work
我只是想让 textinput 焦点更容易,以便更用户友好的应用程序。当用户错过点击文本输入并点击文本时,我会尝试这样做,而不是它应该专注于文本输入。
所以我在文本中添加了 ref
<Text ref={"textref"}
和 TextInput
<TextInput onPress={_onPress => { this.refs.textref.focus() }}
它适用于 1 个单词的标签文本,但不适用于长文本。我能做什么?
它还说 refs 已被弃用,有更好的方法吗?我发现这种方式最短且有效,但遗憾的是它已被弃用。
编辑:我修复了它。
<Text onPress={() => {this.inputText.focus()}}
<TextInput ref={input => { this.inputText= input}}
对我有用。
首先,您尝试聚焦文本,但您只能聚焦 TextInput
然后,我建议你在构造函数中初始化你的引用
constructor(props) {
super(props)
...
this.textInputref = React.createRef()
}
和
<Text onPress={() => this.textInputref.current.focus()}>hello world</Text>
<TextInput ref={this.textInputref} />
你可以这样使用:
<Text onPress={_onPress => { this.refs.textref.focus() }}> Testing </Text>
<TextInput ref={"textref"}/>
我只是想让 textinput 焦点更容易,以便更用户友好的应用程序。当用户错过点击文本输入并点击文本时,我会尝试这样做,而不是它应该专注于文本输入。
所以我在文本中添加了 ref
<Text ref={"textref"}
和 TextInput
<TextInput onPress={_onPress => { this.refs.textref.focus() }}
它适用于 1 个单词的标签文本,但不适用于长文本。我能做什么?
它还说 refs 已被弃用,有更好的方法吗?我发现这种方式最短且有效,但遗憾的是它已被弃用。
编辑:我修复了它。
<Text onPress={() => {this.inputText.focus()}}
<TextInput ref={input => { this.inputText= input}}
对我有用。
首先,您尝试聚焦文本,但您只能聚焦 TextInput
然后,我建议你在构造函数中初始化你的引用
constructor(props) {
super(props)
...
this.textInputref = React.createRef()
}
和
<Text onPress={() => this.textInputref.current.focus()}>hello world</Text>
<TextInput ref={this.textInputref} />
你可以这样使用:
<Text onPress={_onPress => { this.refs.textref.focus() }}> Testing </Text>
<TextInput ref={"textref"}/>