小程序中每次返回tabbar页面重新请求接口但是想让滚动条任然在上次的位置
要实现滚动条在上次位置的效果,可以使用以下步骤:
- 在页面的
onLoad生命周期中,保存滚动条的位置。可以使用wx.getStorageSync方法将滚动条位置保存在本地缓存中,或者保存在全局变量中。
onLoad: function () {
// 获取上次保存的滚动条位置
const scrollTop = wx.getStorageSync('scrollTop');
if (scrollTop) {
// 如果存在上次的滚动条位置,则设置滚动条位置
wx.pageScrollTo({
scrollTop: scrollTop,
duration: 0
});
}
},
- 在页面的
onUnload生命周期中,保存当前滚动条的位置。可以使用wx.setStorageSync方法将滚动条位置保存在本地缓存中,或者保存在全局变量中。
onUnload: function () {
// 获取当前滚动条位置
wx.createSelectorQuery().selectViewport().scrollOffset(function(res) {
const scrollTop = res.scrollTop;
// 保存当前滚动条位置
wx.setStorageSync('scrollTop', scrollTop);
}).exec();
},
通过以上步骤,每次返回到该页面时,会将滚动条恢复到上次的位置
原文地址: https://www.cveoy.top/t/topic/hJh7 著作权归作者所有。请勿转载和采集!