• uniapp 底部导航 点击刷新当前页


    项目原来跳转页面后就刷新页面,交互效果不是很好,现在需要保存页面数据,当点击底部当前导航时,再刷新,类似抖音刷视频时候的操作。

    基础导航栏配置

    pages.json 简单的基础配置

    1. "pages": [
    2. {
    3. "path": "pages/index/index",
    4. "style": {
    5. "navigationBarTitleText": "首页"
    6. }
    7. }
    8. ,{
    9. "path" : "pages/my/my",
    10. "style" :
    11. {
    12. "navigationBarTitleText": "我的"
    13. }
    14. }
    15. ],
    16. "tabBar": {
    17. "color": "#7A7E83", // tab 上的文字默认颜色
    18. "selectedColor": "#3cc51f", // tab 上的文字选中时的颜色
    19. "borderStyle": "black", // tabbar 上边框的颜色,可选值 black/white
    20. "backgroundColor": "#ffffff", // tab 的背景色
    21. "list": [{ // 最少2个、最多5个 tab
    22. "pagePath": "pages/index/index", // 页面路径,必须在 pages 中先定义
    23. "iconPath": "static/tabbar/home.png", // 图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px
    24. "selectedIconPath": "static/tabbar/home-active.png", // 选中时的图片路径
    25. "text": "首页" // tab 上按钮文字
    26. }, {
    27. "pagePath": "pages/my/my",
    28. "iconPath": "static/tabbar/my.png",
    29. "selectedIconPath": "static/tabbar/my-active.png",
    30. "text": "我的"
    31. }]
    32. }

    监听点击

    使用 onTabItemTap 事件

    1. onTabItemTap(e){
    2. console.log(e)
    3. }

    函数的参数 例:点击发现页

     index: 导航的下标 (从0开始的)

    pagePath 路径  text: 名称

    实现

    在发现页 页面中 ,使用事件 重置参数加载数据

    1. onTabItemTap(e) {
    2. this.page = 1
    3. this.getList()
    4. }
    5. },

     配合生命周期,当首次进入时不刷新,当我们再当前页,点击当前页导航时刷新

    还是在 onLoad 的时候加载数据,通过一个变量去控制是否需要刷新页面数据

    needRefresh: false

    梳理一下点击后的逻辑,首次点击时不需要刷新数据,记录更新 needRefresh 的值,之后的点击就是在当前页的刷新了

    1. onTabItemTap(e) {
    2. if (this.needRefresh) {
    3. uni.pageScrollTo({ // 回到顶部
    4. duration: 0,
    5. scrollTop: 0
    6. })
    7. this.page = 1
    8. this.getList()
    9. } else {
    10. this.needRefresh = true
    11. }
    12. },

    使用 onHide 页面隐藏的时候重置状态

    1. onHide() {
    2. this.needRefresh = false
    3. },
  • 相关阅读:
    SpringBoot 整合Spring Security(简单版)
    1089 不能被3整除的数
    使用大数据分析建立电力企业用户画像的一种思路
    jetson nano——安装archiconda
    数据结构学习笔记
    [护网杯 2018]easy_tornado-1|SSTI注入
    圆通快递订单创建接口asp版,面单打印接口asp版,asp圆通快递物流轨迹查询接口
    百度地图 获取某个区域的经纬度 baidu-map 地图绘制
    为什么UI自动化难做?—— 关于Selenium UI自动化的思考
    一个超级大的文件如何更快读
  • 原文地址:https://blog.csdn.net/paidaboluo/article/details/126779191