reactjs 在TextInput中使用useState时隐藏键盘

7dl7o3gd  于 2023-03-17  发布在  React
关注(0)|答案(2)|浏览(121)

我在选项卡视图中有一个文本输入,在该视图中我使用setState更新输入的值。

export function Login(){

  const [email, setEmail] = useState();

  return(
  <View>
      <TextInput
        onChangeText={setEmail}
        value={email}
      />
   </View>
  )
}

现在每次我在onChangeText上调用setEmail输入都会得到隐藏。有没有什么东西可以用来防止键盘靠近?

mznpcxlj

mznpcxlj1#

您需要使用合成事件侦听器并将状态设置为所需的值:
从“react”导入“React”;

export default function App() {
  const [email, setEmail] = React.useState('');

  return (
    <>
      <input onChange={(e) => setEmail(e.target.value)} value={email} />
    </>
  );
}
ffx8fchx

ffx8fchx2#

当您按照下面的代码定义嵌套组件时,会发生这种情况:

const ListMenu = () => {
    const [searchText, setSearchText] = useState("");
    const Header = () => {
        return <TextInput
           placeholder="Search"
           onChangeText={text => { setSearchText(text) }}
         />
    }
    return (<View>
               <Header />
           </View>
    )}

而是像这样创建嵌套组件:

const ListMenu = () => {
        const [searchText, setSearchText] = useState("");
        const header = () => {
           return <TextInput
                    placeholder="Search"
                    onChangeText={text => { setSearchText(text) }} />
    }
    return (<View> {header()} </View>)
}

相关问题