我如何在airbnb的react-native-maps中的Callout中使用TextInput?

时间:2017-03-14 10:33:09

标签: react-native react-native-maps

我想在标注中从用户那里获取输入,以便我可以对其执行操作。但是在MapView.Callout中使用TextInput没有用,因为正在按下整个Callout。我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

在调用callout的回调时,以编程方式将焦点设置为TextInput。将标注内的TextInput设为ref

像这样<TextInput ref={textInput => this.textInput = textInput} />

现在,在callout的回调中只需写入。 this.textInput.focus()

旁注:确保绑定到this标注的回调或在胖箭头函数内调用它,以便this中的this.textInput.focus()执行此操作不出来是不明确的。 这是一个更清洁的解决方案,您不必使用绝对样式和组件重叠。