Advertisement

小程序 点击返回按钮 根据用户的选择判断是返回还是留在当前页面

阅读量:

在pages.json文件中,在需要自定义导航栏的页面定义下加

复制代码
 {

    
  
    
     "path": "video1",
    
  
    
     "style": {
    
  
    
     "navigationStyle": "custom"
    
  
    
     }
    
  
    
 }

2.页面上增加返回按钮事件

复制代码
 comeBack() {

    
       wx.showModal({
    
     title: '温馨提示',
    
     content: "您是否确认离开当前页面?",
    
     cancelText: "我再想想",
    
     confirmText: "残忍离开",
    
     success(res) {
    
       if (res.confirm) {
    
         var pages = getCurrentPages();//当前页面栈
    
         if (pages.length >0) {
    
           wx.navigateBack();
    
           //var beforePage = pages[pages.length - 1];//获取上一个页面实例对象
    
           console.log('dddbefore',beforePage) ;
    
           // beforePage.reloadData();//触发父页面中的方法
    
           //屏蔽的是需要调用父页面(即前一个页面的某些操作)的方法的操作
    
         }
    
       } else if (res.cancel) {
    
         console.log('用户点击取消')
    
       }
    
     }
    
  
    
       })
    
 }

如图

拓展

复制代码
 let arr = getCurrentPages();

    
  
    
 console.log('页面', arr.length);
    
  
    
 if (arr.length == 1) {
    
  
    
 //说明:返回按钮遇见的两种情况:
    
  
    
 //情况1:页面栈内存在多个页面,即 arr.length>= 1 ,正常返回即可(wx.navigateBack).
    
  
    
 //情况2: 通过wx.relaunch方式跳转到某一个页面时,此时arr.length == 1(当前页面),则需要返回你首页或指定一个页面。
    
  
    
 //当返回的页面栈为1时,可以设置默认返回首页。
    
  
    
 //首页非table页跳转
    
  
    
 // wx.reLaunch({
    
  
    
 // url:'你的首页'
    
  
    
 // })
    
  
    
 //首页为table页跳转
    
  
    
 // wx.switchTab({
    
  
    
 // url: '你的首页'
    
  
    
 // })
    
  
    
     wx.showToast({
    
  
    
     title: '由于每份代码设置的首页不同,因此需要设置不同跳转方式',
    
  
    
     icon: 'none',
    
  
    
     })
    
  
    
 }
    
  
    
 wx.navigateBack();

全部评论 (0)

还没有任何评论哟~