Javascript 如何在';输入';按入文本输入-反应本机

Javascript 如何在';输入';按入文本输入-反应本机,javascript,node.js,react-native,react-native-android,react-native-ios,Javascript,Node.js,React Native,React Native Android,React Native Ios,我正在努力使搜索栏。我希望用户在TextInput中键入一些内容,当用户按“回车”时,我希望调用我的函数 <TextInput //here when user press enter call function() style={styles.searchStyle} allowFontScaling={false} placeholder="Search" onChangeText={(val) => {setSearch(val)}} /> {s

我正在努力使搜索栏。我希望用户在
TextInput
中键入一些内容,当用户按“回车”时,我希望调用我的函数

<TextInput
//here when user press enter call function()
style={styles.searchStyle}
allowFontScaling={false}
placeholder="Search" 
onChangeText={(val) => {setSearch(val)}}
/> 
{setSearch(val)}
/> 
我尝试了
onSubmitEditing
,但不起作用。

import-React,{Component}从'React'导入{TextInput}从'React-native'
import React, { Component } from 'react' import {TextInput} from 'react-native'

const Trial =()=>{
    const onSubmitted=()=>{
        console.log('Submitted')
      }
return(
    <TextInput
//here when user press enter call function()
// style={styles.searchStyle}
allowFontScaling={false}
placeholder="Search" 
onSubmitEditing={()=>onSubmitted()}

/>
)
}

export default Trial
常数试验=()=>{ 提交的常数=()=>{ console.log('Submitted') } 返回( OnSubmited()} /> ) } 导出默认测试

在submitedit中,它工作得很好,我希望它会对您有所帮助

如果我要解决这个问题,我将利用表单OnSubmit属性

我的HTML将如下所示

<form onSubmit=(handleSubmit())>
  <input id="name" type="text" placeholder="Enter your name">
  <p id="x">show</p>
</form>
const handleSubmit = () => {
  const getName = document.getElementById("name")       
  document.getElementById("x").innerHTML = getName.value
}

根据您的问题,这可以正常工作,请告诉我它是否解决了问题。

如果您在文本输入中使用multiline={true},如
,则Submitediting将不起作用,而将移到下一行

我正在做一个变通方法,所以基本上我检查用户是否输入了下一行,如果是,调用提交函数并关闭键盘,您可以从react native导入{keyboard}

<TextInput onChangeText={(txt) => {
        if (/\n/.test(txt)) {
         //call submit function here
          Keyboard.dismiss()
          return
        } else {
          //do something here
        }
        
      }} />
{
如果(/\n/.test(txt)){
//在这里调用提交函数
键盘
返回
}否则{
//在这里做点什么
}
}} />