添加onNavigationStateChange方法并判断

<WebView  onNavigationStateChange={this.onNavigationStateChange}/>

/**
 * 是否可以返回
 * @param navState
 */
onNavigationStateChange=(navState)=>{
    this.setState({
        backButtonEnabled: navState.canGoBack
    });
}

添加监听处理

if(Platform.OS==='android'){
    this.backHandler=BackHandler.addEventListener("hardwareBackPress",()=>{
        if (this.state.backButtonEnabled) {
            this.webview.goBack();
            return true;
        } else {
            this.onBack();
        }
    });
}

移除监听

if(Platform.OS==='android') {
    this.backHandler.remove();
}
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐