要实现滚动条在上次位置的效果,可以使用以下步骤:

  1. 在页面的 onLoad 生命周期中,保存滚动条的位置。可以使用 wx.getStorageSync 方法将滚动条位置保存在本地缓存中,或者保存在全局变量中。
onLoad: function () {
  // 获取上次保存的滚动条位置
  const scrollTop = wx.getStorageSync('scrollTop');
  if (scrollTop) {
    // 如果存在上次的滚动条位置,则设置滚动条位置
    wx.pageScrollTo({
      scrollTop: scrollTop,
      duration: 0
    });
  }
},
  1. 在页面的 onUnload 生命周期中,保存当前滚动条的位置。可以使用 wx.setStorageSync 方法将滚动条位置保存在本地缓存中,或者保存在全局变量中。
onUnload: function () {
  // 获取当前滚动条位置
  wx.createSelectorQuery().selectViewport().scrollOffset(function(res) {
    const scrollTop = res.scrollTop;
    // 保存当前滚动条位置
    wx.setStorageSync('scrollTop', scrollTop);
  }).exec();
},

通过以上步骤,每次返回到该页面时,会将滚动条恢复到上次的位置

小程序中每次返回tabbar页面重新请求接口但是想让滚动条任然在上次的位置

原文地址: https://www.cveoy.top/t/topic/hJh7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录