m***@qq.com
m***@qq.com
  • 发布:2019-01-31 12:12
  • 更新:2019-09-25 11:12
  • 阅读:6575

uni-app列表页到发布页,发布页返回列表页控制刷新问题

分类:uni-app

正常返回,页面不刷新,这个用uni.navigateBack完全没有问题

但是列表页到发布页,发布页再返回列表页,如果发布页向服务器提交了内容
怎么做才能控制列表页的刷新和不刷新?uni.navigateBack不给传参数啊

如果在列表页的onShow方法中写数据重载,那每次返回列表页都会刷新,体验非常不好啊,不能做到局部刷新。

用plus+api能够实现吗?大家都是怎么处理的,有没有好的方法让体验流畅一点

2019-01-31 12:12 负责人:无 分享
已邀请:
lvlvlv

lvlvlv

我的解决办法是 使用本地存储功能实现

场景:页面是 动态列表(发现,关注) 和 动态详情;在动态详情中有删除动态功能,删除成功后返回上一页,发现列表展示最新动态。

实现:
1.动态详情 存储
2.动态列表 onShow中判断,然后删除存储
3.局部或者全部刷新,可判断中扩展

t***@163.com

t***@163.com - 80后

我也想知道怎么解决!

1***@qq.com

1***@qq.com

楼主解决了吗,我也没有思路

  • 8***@qq.com

    经验证,用下的方式可行:


    var pages = getCurrentPages();

    var currPage = pages[pages.length - 1]; //当前页面

    var prevPage = pages[pages.length - 2]; //上一个页面

    //直接调用上一个页面的setData()方法,把数据存到上一个页面中去

    prevPage.setData({

            isDoRefresh:true

    })

     uni.navigateBack();


    ===========================


    onShow:function(e){

           let pages = getCurrentPages();

           let currPage = pages[pages.length-1];

           if (currPage.data.isDoRefresh == true){

    currPage.data.isDoRefresh = false;

                this.doRefresh();

            }else{

               //不用刷新

            }


     }

    2019-05-11 20:41

  • 1***@qq.com

    回复 8***@qq.com: 试了一下,可以了,谢谢

    2019-05-13 14:09

  • 2***@qq.com

    回复 8***@qq.com: setData报错 这个要在哪里先写一下吗

    2019-08-26 20:49

  • lvlvlv

    回复 8***@qq.com: 我这里setData也报错,是要有什么条件嘛?

    2019-09-17 09:53

  • 1***@qq.com

    回复 lvlvlv: 你们是h5页面吗,h5没用setData这个方法。还有现在可以用uni.$on和uni.$emit等事件处理了

    2019-09-17 19:02

该问题目前已经被锁定, 无法添加新回复