UniApp配置tabBar

UniApp Tabbar

在Uniapp中,配置tabbar有两种方式:

第一种,通过UniApp自定义tabbar选项,配置对应的tab选项即可,

第二种,通过自定义tabbar实现

一 配置UniApp原生tabBar选项

1.1,配置pages页面

第一步,配置Pages.json里面的pages页面路由选项(必须先注册tabbar 对应的页面,不然会有不显示的问题)

json 复制代码
"pages": [
    //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首页",
        "navigationStyle": "custom"
      }
    },
    {
      "path": "pages/userCenter/index",
      "style": {
        "navigationBarTitleText": "个人中心"
      }
    }
  ],

1.2,配置pages.json里面的tabBar选项

json 复制代码
"tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",
        "iconPath": "static/home_icon.png",
        "selectedIconPath": "static/home_actived_icon.png",
        "text": "首页"
      },
      {
        "pagePath": "pages/userCenter/index",
        "iconPath": "static/usercenter_icon.png",
        "selectedIconPath": "static/usercenter_actived_icon.png",
        "text": "个人中心"
      }
    ]
  }

此刻,不出意外的话原生的tabBar就可以正常显示了,当然tabBar有很多的选项可以配置,颜色,图标啥的,请看官网的配置项目

二 配置自定义tabBar

这里通过uview-plus 组件库里面的 up-tabbar(https://uiadmin.net/uview-plus/components/tabbar.html) 组件来实现, uview-plus也是可以实现多端的组件库,而且组件比较多,当然使用前要看一下每个组件的多端适配情况来决定的

2.1 自定义tabBar组件

js 复制代码
<template>
  <view class="">
    <up-tabbar :value="value2" :placeholder="false" @change="(name: number) => (value2 = name)" :fixed="true" :safeAreaInsetBottom="false">
      <up-tabbar-item text="首页" icon="home" dot></up-tabbar-item>
      <up-tabbar-item text="放映厅" icon="photo" badge="3"></up-tabbar-item>
      <up-tabbar-item text="直播" icon="play-right"></up-tabbar-item>
      <up-tabbar-item text="我的" icon="account"></up-tabbar-item>
    </up-tabbar>
  </view>
</template>

<script setup lang="ts">
  import { ref } from 'vue';

  const value2 = ref(1);
</script>

2.2 将自定义的组件在main.ts里面注册为全局组件,因为有很多的页面都需要显示(看需求,不需要则跳过)

直接在要使用的页面里面引入即可

讨论:

传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom 将其精简为一步。只要组件安装在项目的components目录下或uni_modules目录下,并符合components/组件名称/组件名称.(vue|uvue)目录结构(注意:当同时存在vue和uvue时,uni-app 项目优先使用 vue 文件,而uni-app x 项目优先使用 uvue 文件,详情)。就可以不用引用、注册,直接在页面中使用, 可以通过easycom的custom配置tabbar。

但是配置了还是有点问题,如果大家有其他解决方案,可以评论区讨论一下

以上都是一些实现方案,如有错误,还请大家指正🙏

相关推荐
Cao_Ron8 分钟前
用 SVG image symbol 画 ECharts graph 圆形节点
前端
hxy060112 分钟前
React-Call让你的React组件像异步函数一样调用
前端·react.js
Hilaku13 分钟前
为什么 AI 写前端时,总是优先选择 React,而不是 Vue?
前端·javascript·程序员
京东云开发者15 分钟前
GPT-5.6、ChatGPT Work 与 Codex 更新食用指南
前端
Cao_Ron26 分钟前
用 ECharts graph 画出卡片式矩形节点
前端
skiyee35 分钟前
换个底座的 Wot Starter 居然让 AI 更懂项目!
前端·ai编程
anyup41 分钟前
这一套绝了!AI 大模型写故事,星云 SDK 驱动 3D 数字人实时演绎
前端·人工智能·aigc
耀耀切克闹灬1 小时前
短链跳转
前端
孟陬1 小时前
高质量全方位的 AI 工具 sse-stuntman — Mock SSE 接口
前端·node.js·openai
Cao_Ron1 小时前
给 ECharts 6 graph 节点叠加角标:从原理到性能优化
前端