当前位置:首页 > uni-app

uniapp导航菜单

2026-02-06 01:47:17uni-app

uniapp导航菜单实现方法

使用uni-ui的TabBar组件

pages.json中配置tabBar选项:

"tabBar": {
  "list": [
    {
      "pagePath": "pages/index/index",
      "text": "首页",
      "iconPath": "static/tabbar/home.png",
      "selectedIconPath": "static/tabbar/home-active.png"
    },
    {
      "pagePath": "pages/user/user",
      "text": "我的",
      "iconPath": "static/tabbar/user.png",
      "selectedIconPath": "static/tabbar/user-active.png"
    }
  ]
}

自定义顶部导航栏

在页面配置中设置navigationStyle为custom:

uniapp导航菜单

{
  "path": "pages/custom/custom",
  "style": {
    "navigationStyle": "custom"
  }
}

页面中使用自定义导航组件:

<template>
  <view>
    <custom-nav title="自定义标题" :back="true"></custom-nav>
    <!-- 页面内容 -->
  </view>
</template>

侧边抽屉菜单

使用uni-drawer组件实现:

uniapp导航菜单

<template>
  <view>
    <uni-drawer ref="drawer" mode="left">
      <view class="drawer-content">
        <!-- 菜单内容 -->
      </view>
    </uni-drawer>
    <button @click="openDrawer">打开菜单</button>
  </view>
</template>

<script>
export default {
  methods: {
    openDrawer() {
      this.$refs.drawer.open()
    }
  }
}
</script>

动态导航菜单

通过v-for循环渲染导航项:

<template>
  <view class="nav-menu">
    <view 
      v-for="(item, index) in menuList" 
      :key="index"
      @click="navigateTo(item.path)"
    >
      <image :src="item.icon"></image>
      <text>{{item.text}}</text>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      menuList: [
        {text: '首页', icon: '/static/home.png', path: '/pages/index'},
        {text: '分类', icon: '/static/category.png', path: '/pages/category'}
      ]
    }
  }
}
</script>

导航菜单样式优化

为导航菜单添加CSS样式:

.nav-menu {
  display: flex;
  justify-content: space-around;
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
}

.nav-menu view {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 0;
}

.nav-menu image {
  width: 24px;
  height: 24px;
}

.nav-menu text {
  font-size: 12px;
  margin-top: 4px;
}

标签: 菜单uniapp
分享给朋友:

相关文章

uniapp开发

uniapp开发

uniapp开发简介 uniapp是一款基于Vue.js的跨平台开发框架,支持一次开发,多端部署。开发者可以通过编写一套代码,发布到iOS、Android、Web以及各种小程序平台(如微信、支付宝、百…

uniapp 推送

uniapp 推送

uniapp 推送实现方法 uniapp 推送功能可以通过多种方式实现,主要包括使用第三方推送服务、原生插件或云服务。以下是几种常见的实现方案: 使用 UniPush 服务 UniPush 是 D…

jquery 菜单

jquery 菜单

jQuery 菜单实现方法 使用 jQuery 创建动态菜单可以通过多种方式实现,以下是几种常见的方法: 基于 HTML 和 CSS 的基础结构 创建菜单的 HTML 结构通常使用无序列表 &…

uniapp前端页面

uniapp前端页面

Uniapp 前端页面开发指南 Uniapp 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端部署(H5、小程序、App等)。以下是开发 Uniapp 前端页面的关键方法和注意事项。…

uniapp设置title

uniapp设置title

设置页面标题的方法 在UniApp中设置页面标题可以通过以下几种方式实现,适用于不同场景和需求。 通过pages.json配置 在pages.json文件中,可以为每个页面单独配置导航栏标题。找到…

uniapp关闭侧滑

uniapp关闭侧滑

禁用全局侧滑返回功能 在pages.json中配置全局禁止侧滑返回: { "globalStyle": { "popGesture": "none" } } 禁用单个页面侧滑返回…