我有一段简单的代码,只是带有onLongPress道具的TouchableOpacity,但似乎没有用。
<TouchableOpacity delayLongPress={10} onLongPress={()=>{console.log("pressed")}} activeOpacity={0.6}>
<Text>BUTTON</Text>
</TouchableOpacity>
我尝试删除了延迟道具,但是仍然无法正常工作。但是,将onLongPress更改为onPress似乎确实可行,但是我需要长按功能。我正在Android模拟器上对此进行测试。
答案 0 :(得分:2)
根据this issue,这是在启用了React Native Debugger的真实设备上进行测试后随机发生的。禁用React Native Debugger将使您的问题消失。
答案 1 :(得分:0)
我将以下代码与“ react”:“ 16.6.3”和“ react-native”:“ 0.58.5”一起使用
<TouchableOpacity
onLongPress={this.handlerLongClick}
onPress={this.handlerClick}
activeOpacity={0.6}
style={styles.button}>
<Text style={styles.TextStyle}> LONG PRESS THE BUTTON </Text>
</TouchableOpacity>
现在的关键是,一切正常,因此我认为以前的版本中存在一个错误,现在可以正常工作了。
答案 2 :(得分:0)
如果要长按显示视图,并在释放时将其隐藏:
<TouchableOpacity
onPress={this._onPress}
onLongPress={this._onLongPress}
onPressOut={this._onPressOut}
>
....
</TouchableOpacity>
_onLongPress = () => {
this.setState({
modalVisible: true
})
}
_onPressOut = () => {
this.setState({
modalVisible: false
})
}
答案 3 :(得分:-2)
您可以在IOS模拟器或发行包中进行测试。