从page-container跳转下一页面,再返回,page-container页返回按钮无效?

问题描述:从首页跳转详情页,在详情页打开page-container并跳转编辑页,再从编辑页返回详情页后,详情页的返回按钮失效,无法返回首页。只有再次打开page-container并关闭,返回按钮才有效。

经过多次测试终于找到问题所在,当页面跳转时如果触发了关闭page,show状态值会丢失,所以在返回页面时当前页的返回按钮找不到show状态值,解决的办法有两个,

一:返回页面时在onShow中对page的show重新赋true或false,

二:跳转页面时做50ms延迟,等待page的show值确定

  onMyscreen(e) {
    let data = e.detail;
    setTimeout(() => {
      wx.navigateTo({
        url:
          "/pages/index/collectionnew/filterpage/filterpage?filter=" +
          JSON.stringify(data),
      });
    }, 500);
  },

 

其他方案

可以试一下把page-container封装成一个组件,在封装组件的pageLifetimes里面手动控制show的状态

// JS
Component({
  properties: {
    // 相当于原page-container的show
    show: {
      type: Boolean,
      value: false
    }
  },

  data: {
    pageShow: true // 页面显示状态
  },
  
  pageLifetimes: {
    show() {
      this.setData({
        pageShow: true
      })
    },

    hide() {
      this.setData({
        pageShow: false
      })
    }
  }
})

使用

<popup show="{{popupShow}}">
  ...
</popup>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端 贾公子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值