编程语言
首页 > 编程语言> > javascript – 本机基本输入参考未设置

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