小程序--tabbar导航

小程序--tabbar导航,第1张

1.用于实现多页面的快速切换。

2.tabbar导航栏只能配置最少 2 个、最多 5 个 tab 页签。

3.步骤:

① 通过 app.json 文件的 pages 节点,新建 对应的 tab 页面

② tabBar 节点中,新增 list 数组,这个数组中存放的,是每个 tab 项的配置对象

③ 在 list 数组中,新增每一个 tab 项的配置对象。对象中包含的属性如下:

-pagePath 指定当前 tab 对应的页面路径【必填】

-text 指定当前 tab 上按钮的文字【必填】

-iconPath 指定当前 tab 未选中时候的图片路径【可选】

-selectedIconPath 指定当前 tab 被选中后高亮的图片路径【可选】

使用组件:<navigator url=" / ">1</navigator>

使用api:wx.navigateTo({url:" / "})

首页小程序导航栏TabBar设置

1、注意区分属性值大小写的区别,比如selectedIconPath如果写成selectediconpath则图片不显示。

2、如果tabBar中设置"postion":"top"则icopath的图片都不再显示。

3、注意{}中如果列出几项,这除最后一项外每一项结尾加逗号,最后一项不用加。

"tabBar": {

    "selectedColor": "#1296db",

    "list": [{

      "pagePath": "pages/index/index",

      "text": "首页",

      "iconPath": "images/ico-home.png",

      "selectedIconPath": "images/ico-home-d.png"

    },{

      "pagePath": "pages/setting/setting",

      "text": "设置",

      "iconPath": "images/ico-setting.png",

      "selectedIconPath": "images/ico-setting-d.png"

    },{

      "pagePath": "pages/help/help",

      "text": "帮助",

      "iconPath": "images/ico-help.png",

      "selectedIconPath": "images/ico-help-d.png"

    }]

  }

app.json 直接配置:

官方文档: 自定义 tabBar

custom-tab-bar/index

在小程序根目录下新建 custom-tab-bar 文件夹,文件夹下建立相应的组件。

wxml 文件:

推荐使用 cover-view + cover-image 组件渲染样式,以保证 tabBar 层级相对较高。不过现在使用 view 也可以,之前是因为使用 map 组件可能会导致无法覆盖,现在 map 组件已经支持同层渲染,所以使用 view 也是没问题的。

js 文件:

tabbar 的配置主要在这里。

因为每个 tab 页下的自定义 tabBar 组件实例是不同的,在跳转新的tab 后,是一个新的 tabbar 实例,先前那个已经被销毁了,所以要重新设置。

在每个自定义的 tab 页面 onShow 方法中,

可见使用系统提供自定义 tabbar 方式不好的地方在于每个 tabbar 页面都要手动设置一遍选中状态。

为什么说是系统自定义的?

因为我们自定义的组件 custom-tab-bar/index 并没有在每个页面的 json 中进行单独配置进行组件的引用,都是系统默认配置好的。

官方文档 Tabbar 。

通过 useExtendedLib 扩展库 的方式引入 weui 组件库。

app.json 配置:

在 tab 页面的 page.json 中引入 tabbar 组件即可:

wxml 使用:

直接将第二种方式 使用系统自定义的方式 custom-tab-bar/index 文件夹及文件移动到 components 自定义组件文件夹中 ,并将 app.json 中的 tabbar 配置删除即可。

在相应的 tab 页面引入自定义 tabbar 组件即可。

屏幕有效区域高度 windowsHeight,需要手动维护,系统不再维护。使用系统的 tabbar,屏幕的有效区域高度 windowsHeight = 屏幕高-状态栏高度-导航条高度-tabbar高度 ;而自定义的 tabbar 则没有计算 tabbar 高度,即 windowsHeight = 屏幕高-状态栏高度-导航条高度 。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12001398.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存