如何根据情况使用TouchableWithoutFeedback的道具

时间:2019-03-30 09:45:33

标签: react-native

我使用TouchableWithoutFeedback作为按钮。但是当我按下按钮时,我希望它执行“ A”操作。长按按钮时,我希望它按“ B”。我该怎么办?

<TouchableWithoutFeedback onPressIn={() => console.warn('OnPressIN')} onLongPress={() => console.warn('OnLongPress')}>
    <Image source={require('../Images/add2.png')} style={{ height: 30, width: 30 }} />
</TouchableWithoutFeedback> 

发生的事情是,当我长按时,它会给我OnPressINOnLongPress。但我只想要OnLongPress

1 个答案:

答案 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'});
  }}
>