当 Modal 在 react-native 中显示时如何使背景变暗

Pre*_*mar 4 background modal-dialog react-native

我已经按预期获得了模态,但我无法使背景变暗。

我也尝试过,backdropColor = {'green'} backdropOpacity = {1}但背景仍然存在。我需要这方面的帮助。下面是我的代码:

import Modal from "react-native-modal";
    <View 
          style={styles.MainContainer}>
            <Modal
                backdropColor={'green'}
                backdropOpacity= {1}
                animationType={"slide"}
                visible={this.state.ModalVisibleStatus}
                onRequestClose={ ()=>{ this.ShowModalFunction(!this.state.ModalVisibleStatus)}}>

              <View style={{ flex:1, justifyContent: 'center', alignItems: 'center' }}>
                <View style={styles.ModalInsideView}>
                  <Text 
                      style={styles.TextStyle}>
                      Enter the Number of Tickets to be Printed. 
                   </Text>

                    <NumberSpinner
                    packageCount={this.state.tickets} min={0} max={20}
                    onChange={this.ticketsCount}
                  />

                 <Button  
                      title="Print Tickets" 
                       onPress={() => { this.ShowModalFunction(!this.state.ModalVisibleStatus)}}/>
              </View>
            </View>
          </Modal>
Run Code Online (Sandbox Code Playgroud)

Pri*_*dya 8

您正在使用错误的道具来触发Modal. 如文档中所述,您需要使用isVisible来显示模态而不是visible.

因此backdropColorbackdropOpacity为了工作,您需要将代码更改为

<Modal
       backdropColor={'green'}
       backdropOpacity= {1}
       animationType={"slide"}
       isVisible={this.state.ModalVisibleStatus}
Run Code Online (Sandbox Code Playgroud)

  • 仅供查看此答案的任何人参考。这个答案适用于“react-native-modal”组件,而不是“react-native”库中的原始 Modal 组件。 (5认同)