javascript – 本机基本输入参考未设置
作者:互联网
所以我正在使用Native Base< Input>标记,尝试设置引用以通过表单字段处理“tabbing”.我有以下代码:
<Item floatingLabel>
<Label style={{ color: "#fff" }}>First Name</Label>
<Input
ref={input => {
this.firstNameRef = input;
}}
onSubmitEditing={() => {
this.lastNameRef._root.focus();
}}
returnKeyType={"next"}
/>
</Item>
<Item floatingLabel last>
<Label style={{ color: "#fff" }}>Last Name</Label>
<Input
ref={input => {
this.lastNameRef = input;
}}
/>
</Item>
基本上,我有2< Input>标签,都有ref set(this.firstNameRef和this.lastNameRef),但在加载应用程序时,按First Name,然后按键盘上的“next”我收到以下错误:
Cannot read property ‘_root’ of undefined
onSubmitEditing
Signup.js:162:26
似乎使用< Input>实际上并没有设置任何ref值,所以this.lastNameRef为null.
我也尝试过使用React Native的< TextInput>如上所述,它确实处理设置引用,但在提交后仍然似乎没有处理焦点(即使从.focus()逻辑中删除._root).
还有其他人看过这个问题吗?
注意:目前仅在iOS中测试过.
解决方法:
对于nativeBase的输入组件,您需要使用getRef prop:
<Input
getRef={input => {
this.lastNameRef = input;
}}
/>
标签:native-base,javascript,react-native,reference 来源: https://codeday.me/bug/20190724/1521168.html