gpt4 book ai didi

android - React Native - 设置 TextInput 光标位置

转载 作者:可可西里 更新时间:2023-11-01 03:09:23 38 4
gpt4 key购买 nike

在我的 React Native 应用程序中,我试图将 TextInput 的光标位置设置到特定位置(例如,到第 5 个字符),但由于缺少文档,我很难这样做一点。我怀疑它与 TextInput 的“setSelection”属性有关,但我似乎不知道该怎么做。

有人成功过吗?

谢谢。

最佳答案

正如@this.lau_ 所说,有一个名为selection 的受控属性,它接受一个带有开始和结束键的对象。

例子:

class ControlledSelectionInput extends Component {
state = {
selection: {
start: 0,
end: 0
}
}

// selection is an object: { start:number, end:number }
handleSelectionChange = ({ nativeEvent: { selection } }) => this.setState({ selection })

render() {
const { selection } = this.state;

return <TextInput selection={selection} onSelectionChange={this.handleSelectionChange} />
}
}

您还可以通过获取组件的引用并使用 setNativeProps 以编程方式设置选择,如下所示:

this.inputRef.setNativeProps({ selection:{ start:1, end:1 } })

例子:

class SetNativePropsSelectionInput extends Component {
inputRef = null

render() {
const { selection } = this.state;

return (
<View>
<TextInput ref={this.refInput} />
<Button title="Move selection to start" onPress={this.handleMoveSelectionPress} />
</View>
}

refInput = el => this.inputRef = el

handleMoveSelectionPress = () => this.input.setNativeProps({
selection: {
start: 0,
end: 0
}
})
}

关于android - React Native - 设置 TextInput 光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33686748/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com