当前位置:首页 > 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:

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

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

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

侧边抽屉菜单

使用uni-drawer组件实现:

<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样式:

uniapp导航菜单

.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
分享给朋友:

相关文章

css div 制作导航菜单

css div 制作导航菜单

基本导航菜单结构 使用HTML创建一个简单的导航菜单结构,通常使用<ul>和li>列表实现。每个菜单项用<a>标签包裹以实现链接功能。 <div class="n…

uniapp消息推送

uniapp消息推送

uniapp消息推送实现方法 uniapp支持多种消息推送方式,包括uniPush、个推、极光推送等。以下为常见实现方案: uniPush(官方推荐) uniapp官方提供的推送服务,基于DClou…

vue 菜单实现

vue 菜单实现

Vue 菜单实现方法 基于路由的动态菜单 在 Vue 项目中,可以利用 Vue Router 实现动态菜单。首先定义路由配置,包含菜单所需的元信息(如标题、图标等)。 const routes =…

css制作菜单

css制作菜单

CSS 制作菜单的方法 使用 CSS 可以制作多种风格的菜单,包括水平菜单、垂直菜单、下拉菜单等。以下是几种常见的实现方式。 水平菜单 水平菜单通常用于导航栏,可以通过 display: inlin…

uniapp隐藏滚动条

uniapp隐藏滚动条

在UniApp中隐藏滚动条可以通过以下几种方法实现,具体根据使用场景选择: 全局样式设置(APP/H5) 通过修改全局CSS样式隐藏滚动条,适用于所有页面: ::-webkit-scrollbar…

uniapp隐藏右侧滚动条

uniapp隐藏右侧滚动条

隐藏右侧滚动条的方法 在UniApp中隐藏右侧滚动条可以通过CSS样式实现,适用于H5、小程序等平台。以下是几种常见的方法: 全局样式设置 在App.vue的全局样式中添加以下CSS代码,适用于所有…