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。

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

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

相关推荐
久爱@勿忘17 小时前
vue下载项目内静态文件
前端·javascript·vue.js
前端炒粉17 小时前
21.搜索二维矩阵 II
前端·javascript·算法·矩阵
合作小小程序员小小店17 小时前
web网页开发,在线%台球俱乐部管理%系统,基于Idea,html,css,jQuery,jsp,java,ssm,mysql。
java·前端·jdk·intellij-idea·jquery·web
不爱吃糖的程序媛18 小时前
Electron 应用中的系统检测方案对比
前端·javascript·electron
泷羽Sec-静安18 小时前
Less-9 GET-Blind-Time based-Single Quotes
服务器·前端·数据库·sql·web安全·less
pe7er18 小时前
用高阶函数实现递归:从匿名函数到通用递归生成器
前端·javascript
IT古董18 小时前
全面理解 Corepack:Node.js 的包管理新时代
前端·node.js·corepack
学习3人组18 小时前
清晰地说明 NVM、NPM 和 NRM 在 Node.js 开发过程中的作用
前端·npm·node.js
矢心18 小时前
setTimeout 和 setInterval:看似简单,但你不知道的使用误区
前端·javascript·面试
一枚前端小能手19 小时前
🧭 使用历史记录 API - SPA导航与状态管理的完整指南
前端·javascript