如何以编程方式取消AlertIOS

时间:2018-11-12 09:59:08

标签: javascript react-native

说明

我有一个带有条形码扫描仪的组件。条形码扫描仪返回值后,将显示带提示的AlertIOS,并带有取消保存按钮。现在,一种选择是单击保存按钮,以将值发送到服务器。对于另一种选择,客户希望通过降低音量按钮发送数据或通过提高音量按钮取消数据。

问题

现在我已经设置了降低音量按钮的确认,但是我也想在按下任何按钮时关闭“警报”弹出窗口。

我的代码

警报:

showAlert(value) {
     this.alert = AlertIOS.prompt(
        `Gescannter Wert: ${value}`,
        'Menge eingeben (Standartwert ist 1)',
        [{
            text: 'Cancel',
            onPress: () => this.scanning = true,
            style: 'cancel',
        },
        {
            text: 'Save',
            onPress: (input) => this.pushCodeData(value, input)
        }],
        'plain-text',
        '1',
        'number-pad',
    );
}

用于音量变化检测:

        this.volumeListener = SystemSetting.addVolumeListener((data) => {
        let volume = data.value.toFixed(1);
        console.log(volume, this.VOLUME);
        SystemSetting.setVolume(this.VOLUME);

        if (volume < this.VOLUME && this.scanning === false) {
            console.log("confirm")
            this.pushCodeData(this.state.scannedValue, 1)

        } else if (volume > this.VOLUME && this.scanning === false){
            console.log("cancel")
            this.scanning = true
        }
    });

发送数据的函数是this.pushCodeData(params...)

是否有可能以编程方式关闭警报提示?到目前为止,我找不到任何答案。

1 个答案:

答案 0 :(得分:1)

尚无法通过编程方式关闭警报。 https://github.com/facebook/react-native/issues/4928

您可以尝试一下。

How can I remove Alert prompts programmatically?