如何在没有lambda函数的情况下通过React Native中的单个处理程序处理一些TextInput?

问题描述 投票:2回答:2

我需要通过React Native应用程序中的单个事件处理程序来处理一些输入,但不要使用lambda函数,因为在我的应用程序中它被禁止。使用lambda函数,您可以只发送第二个参数,它可能像这样:

<TextInput
    placeholder = 'email'
    onSubmitEditing ={Keyboard.dismiss}
    onChangeText = {(text) => { this.handleTwoInputs(text, 'email'); }}
    autoCorrect = {false}
/>
<TextInput
    placeholder = 'name'
    onSubmitEditing ={Keyboard.dismiss}
    onChangeText = {(text) => { this.handleTwoInputs(text, 'name'); }}
    autoCorrect = {false}
/>
handleTwoInputs = (text, type) => {
  if(type === 'name'){
    this.inputName = text;
  } else {
   this.inputEmail = text;
 }
}

但是没有lambda函数怎么办?

javascript react-native lambda textinput eventhandler
2个回答
0
投票

尝试这样的事情:

onChange = (e) => {
    this.setState({
        [e.target.name]: e.target.value
    })
}

<TextInput
   placeholder = 'email'
   name={'email'}
   onSubmitEditing ={Keyboard.dismiss}
   onChangeText = { this.onChange; }
   autoCorrect = {false}
/>

0
投票

您不需要使用箭头功能:

<TextInput
    placeholder = 'email'
    onSubmitEditing ={Keyboard.dismiss}
    onChangeText = {function(text) { this.handleTwoInputs(text, 'email'); }}
    autoCorrect = {false}
/>

<TextInput
    placeholder = 'name'
    onSubmitEditing ={Keyboard.dismiss}
    onChangeText = {function(text) { this.handleTwoInputs(text, 'name'); }}
    autoCorrect = {false}
/>
© www.soinside.com 2019 - 2024. All rights reserved.