【问题标题】:React native TouchableOpacity onPress not working for UselessTextInputReact native TouchableOpacity onPress 不适用于 UselessTextInput
【发布时间】:2018-08-20 09:16:14
【问题描述】:
<TouchableOpacity 
    style={{backgroundColor: '#FF00FF'}}
    onPress={this.inputField}
>

    <UselessTextInput
        multiline = {true}
        numberOfLines = {4}
        onChangeText={(text) => this.setState({text})}
        value={this.state.text}
    />
</TouchableOpacity>

onPress调用的函数是:

inputField() {
    console.log('Clicked')
}

我找不到任何解决方案,它不起作用 我尝试将onPress 更改为onPress={() =&gt; { console.log('Clicked') }} 还是不行

谁能告诉我,我做错了什么,它不起作用

【问题讨论】:

  • 为什么你在 TextInput 之外使用 TouchableOpacity ?
  • 如果你想处理TextInput的第一次点击,你可以使用TextInput的onFocus属性。 "onFocus={this.inputField}"
  • 在 IOS 模拟器(Android ok)上也发生在我身上

标签: javascript react-native touchableopacity


【解决方案1】:

尝试将带箭头的函数传递给 onClick 道具,否则点击它时将不会执行,有两种不同的方式导致相同的结果:

首先(在函数声明中):

inputField = () => {
  console.log('Clicked')
}

秒(在 onPress 道具中):

onPress={() => this.inputField}

【讨论】:

    【解决方案2】:

    尝试将() 添加到this.inputField,如代码:

    onPress={()=>{this.inputField()}}    
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2020-06-27
    • 2020-09-19
    • 1970-01-01
    相关资源
    最近更新 更多