我使用TouchableWithoutFeedback
作为按钮。但是当我按下按钮时,我希望它执行“ A”操作。长按按钮时,我希望它按“ B”。我该怎么办?
<TouchableWithoutFeedback onPressIn={() => console.warn('OnPressIN')} onLongPress={() => console.warn('OnLongPress')}>
<Image source={require('../Images/add2.png')} style={{ height: 30, width: 30 }} />
</TouchableWithoutFeedback>
发生的事情是,当我长按时,它会给我OnPressIN
和OnLongPress
。但我只想要OnLongPress
。
答案 0 :(得分:2)
您可以在状态下使用onPressOut
<TouchableWithoutFeedback
onPressIn={() => this.setState({buttonPress: 'short'})}
onLongPress={() => this.setState({buttonPress: 'long'})}
onPressOut={() => {
const {buttonPress} = this.state;
if(buttonPress === 'short') {
//do 'A'
} else if (buttonPress === 'long') {
//do 'B'
}
this.setState({buttonPress: 'none'});
}}
>