onTouchOutside реагировать родной всплывающий диалог не работает - PullRequest
0 голосов
/ 26 февраля 2019

Я использую это для всплывающих окон.Я написал функцию, закрывающую всплывающее окно, касаясь окна всплывающего окна, но оно не работает.Я поместил кнопку закрытия внутри всплывающего окна, она отлично работает.

пример кода

<Dialog
  visible={this.state.customBackgroundDialog}
  onTouchOutside={() => {
    this.setState({ customBackgroundDialog: false })
  }}
  onDismiss={() => {
    this.setState({ customBackgroundDialog: false })
  }}
  onHardwareBackPress={() => {
    this.setState({ customBackgroundDialog: false })
  }}
  rounded={false}
  dialogStyle={{
    flex: 1,
    backgroundColor: 'transparent',
    padding: 10,
    width: wp('100%'),
    alignItems: 'center',
    justifyContent: 'flex-end'
  }}
  dialogAnimation={new SlideAnimation({
    slideFrom: 'bottom',
  })}
>
  <DialogContent style={{ width: wp('100%'), paddingLeft: 0, justifyContent: 'center', paddingRight: 0 }}>
    <View style={{
      width: wp('95%'),
      height: hp('40%'),
      marginHorizontal: 10,
      backgroundColor: '#fff',
      justifyContent: 'flex-end',
      borderRadius: 5
    }}>
      <TouchableOpacity
        style={{ alignItems: 'flex-end', paddingHorizontal: 10 }}
        onPress={() => {
          this.setState({ customBackgroundDialog: false });
        }}
      >
        <MaterialCommunityIcons name="close" size={30} color="#000" />
      </TouchableOpacity>
    </View>
  .. 
  ..
  ......
  </DialogContent>
</Dialog>

Пожалуйста, помогите мне.Любая помощь приветствуется.Спасибо!

...