我定义了两个TextInput字段,如下所示:
<TextInput
style = {styles.titleInput}
returnKeyType = {"next"}
autoFocus = {true}
placeholder = "Title" />
<TextInput
style = {styles.descriptionInput}
multiline = {true}
maxLength = {200}
placeholder = "Description" />
Run Code Online (Sandbox Code Playgroud)
但是在按下键盘上的"下一步"按钮后,我的react-native应用程序没有跳转到第二个TextInput字段.我怎样才能做到这一点?
谢谢!
在我的TextInput更改文本中,我检测用户是否按下@按钮以进行提及.
onChangeText(text){
const suggestTrigger = text.match(/\B@[A-Za-z0-9]*$/i) //grab "@" trigger
const searchQuery = (suggestTrigger && suggestTrigger.length > 0) ? suggestTrigger[0] : null;
this.setState({
searchQuery: searchQuery
})
}
Run Code Online (Sandbox Code Playgroud)
然后,在我的渲染中,我做:
<TextInput
autoCapitalize={this.state.searchQuery ? "none" : "sentences"}
autoCorrect={this.state.searchQuery ? false : true}
onChangeText={this.onChangeText}
/>
Run Code Online (Sandbox Code Playgroud)
但是,即使我这样做,自动更正也不会关闭.
我仍然看到这个:
这导致了问题,因为系统通常会用完全不同的词替换整个提及.
我怎么能拒绝自动更正和autoCapitalize 关闭,当用户按下@按钮?"我甚至试过渲染完全不同的东西,但行为仍然存在.
我想用 6 个 TextInput 创建一个 OTP 输入屏幕。当我键入前一个 TextInput 的值时,我希望 TextInput 自动聚焦到下一个。
但是我遇到了一个异常,TypeError: null is not an object(evaluating 'textInputToFocus.current.focus')所以基本上我的变量 textInputToFocus 在下面的代码中为空,我不知道为什么?
import React, { Component } from 'react';
import {
StyleSheet,
View,
Text,
} from 'react-native';
import { PasscodeTextInput } from '../Common/PasscodeTextInput';
import Button from 'react-native-button';
type Props = {}
export default class EnterOTP extends React.Component {
constructor(props) {
super(props)
this.state = {
passcode1: "",
passcode2: "",
passcode3: "",
passcode4: "",
passcode5: "",
passcode6: "", …Run Code Online (Sandbox Code Playgroud)