正常返回,页面不刷新,这个用uni.navigateBack完全没有问题
但是列表页到发布页,发布页再返回列表页,如果发布页向服务器提交了内容
怎么做才能控制列表页的刷新和不刷新?uni.navigateBack不给传参数啊
如果在列表页的onShow方法中写数据重载,那每次返回列表页都会刷新,体验非常不好啊,不能做到局部刷新。
用plus+api能够实现吗?大家都是怎么处理的,有没有好的方法让体验流畅一点
正常返回,页面不刷新,这个用uni.navigateBack完全没有问题
但是列表页到发布页,发布页再返回列表页,如果发布页向服务器提交了内容
怎么做才能控制列表页的刷新和不刷新?uni.navigateBack不给传参数啊
如果在列表页的onShow方法中写数据重载,那每次返回列表页都会刷新,体验非常不好啊,不能做到局部刷新。
用plus+api能够实现吗?大家都是怎么处理的,有没有好的方法让体验流畅一点
3 个回复
lvlvlv
我的解决办法是 使用本地存储功能实现
场景:页面是 动态列表(发现,关注) 和 动态详情;在动态详情中有删除动态功能,删除成功后返回上一页,发现列表展示最新动态。
实现:
1.动态详情 存储
2.动态列表 onShow中判断,然后删除存储
3.局部或者全部刷新,可判断中扩展
t***@163.com - 80后
我也想知道怎么解决!
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