mint-ui 的navbar踩坑记

简介: 首先,mt-tab-item不支持v-for {{item.title}} 能正常显示导航,但点击任何一个菜单,都会全部选中,所以只能像例子一样,一个个写。

首先,mt-tab-item不支持v-for


<mt-tab-item v-for="(item,key) in list" :key="key" id="item.title">{{item.title}}</mt-tab-item>

能正常显示导航,但点击任何一个菜单,都会全部选中,所以只能像例子一样,一个个写。

其次,如果需要同时选择图片,应该这么写


<template>
  <div id="tab-bar">
    <mt-tabbar v-model="selected" v-show="isShow" fixed>
      <mt-tab-item id="main">
          <img :src="selected === img1.title? img1.url1: img1.url0" slot="icon">首页
      </mt-tab-item>
      <mt-tab-item id="focus">
        <img :src="selected === img3.title? img3.url1: img3.url0" slot="icon">我的关注
      </mt-tab-item>
      <mt-tab-item id="todolist">
        <img :src="selected === img7.title? img7.url1: img7.url0" slot="icon">待办事项
      </mt-tab-item>
      <mt-tab-item id="my">
        <img :src="selected === img9.title? img9.url1: img9.url0" slot="icon">我的
      </mt-tab-item>
    </mt-tabbar>
  </div>
</template>
<style>
</style>
<script>
  import * as types from '../store/mutation-types'
  export default {
    data(){
      return {
        selected: sessionStorage.getItem('selected') || 'main', 
        img1: {title: 'main', url0: require("../assets/tool/home.png"), url1: require("../assets/tool/home_selected.png")},
        img3: {title: 'focus', url0: require("../assets/tool/focus.png"), url1: require('../assets/tool/focus_selected.png')},
        img7: {title: 'todolist', url0: require("../assets/todolist/todolist.png"), url1: require("../assets/todolist/todolist_selected.png")},
        img9: {title: 'my', url0: require("../assets/tool/user.png"), url1: require("../assets/tool/user_selected.png")}
      }
    },
    computed: {
      isShow: function () {
        return this.$store.state.footerVisible;
      }
    },
    watch: {
        'selected': {
          handler() {
            switch (this.selected) {
                case 'main': 
                    this.$router.push('/main')
                    this.$store.commit(types.SELECT_FOOTER_TAB, 'main')
                    break
                case 'focus': 
                    this.$router.push('/focus')
                    this.$store.commit(types.SELECT_FOOTER_TAB, 'focus')
                    break
                case 'todolist': 
                    this.$router.push('/todolist')
                    this.$store.commit(types.SELECT_FOOTER_TAB, 'todolist')
                    break
                case 'my': 
                    this.$router.push('/my')
                    this.$store.commit(types.SELECT_FOOTER_TAB, 'my')
                    break
            }
        }
      }
    }
  }
</script>




目录
相关文章
|
10月前
|
小程序
微信小程序在使用vant组件van-nav-bar出现的边框bug问题解决
微信小程序在使用vant组件van-nav-bar出现的边框bug问题解决
103 0
|
5月前
|
JavaScript
Vue移动端框架Mint UI教程-底部导航栏(二)
Vue移动端框架Mint UI教程-底部导航栏(二)
46 0
|
5月前
|
JavaScript
Vue移动端框架Mint UI教程-组件的使用(三)
Vue移动端框架Mint UI教程-组件的使用(三)
65 0
|
6月前
|
API 开发者 索引
Flutter笔记:发布一个多功能轮播组件 awesome_carousel
awesome_carousel 模块是一个Flutter轮播图模块。可以实现包括自定义指示器、动画、滚动等等众多功能。能够指定相当多地细节(可以参考 API 部分了解)本文给出 awesome_carousel 模块的两个简单的用法示例。
74 0
|
8月前
|
前端开发
前端项目实战肆拾伍-​react-admin+material ui-踩坑-layout
前端项目实战肆拾伍-​react-admin+material ui-踩坑-layout
35 0
|
前端开发 信息无障碍
elementui源码学习之仿写一个el-collapse
elementui源码学习之仿写一个el-collapse
133 0
|
存储 JavaScript 前端开发
elementui源码学习之仿写一个el-tabs
elementui源码学习之仿写一个el-tabs
241 0
|
前端开发
elementui源码学习之仿写一个el-card
elementui源码学习之仿写一个el-card
162 0
elementui源码学习之仿写一个el-drawer
elementui源码学习之仿写一个el-drawer
231 0
|
前端开发 JavaScript
elementui源码学习之仿写一个el-tooltip
elementui源码学习之仿写一个el-tooltip
558 0