首页 > 其他 > 详细

Element-UI 写后台【三】 tags标签联动

时间:2019-10-22 00:41:02      阅读:171      评论:0      收藏:0      [点我收藏+]

1、 引入tags

<el-tag
  :key="tag"
  v-for="tag in dynamicTags"
  closable
  :disable-transitions="false"
  @close="handleClose(tag)">
  {{tag}}
</el-tag>

  handleClose(tag) {
        this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
      },

2、 vuex

state:{
tabList:[ //存放tab
 //初始页面
       {
                path: /,
                label: 首页,
                name: home,
                icon: home,

         }

]
}
mutations:{
    
  selectMenu(state,value){
       //1、默认有一个首页不被删除的,
      //2、【如果不是首页的情况下】点击其他页面添加进来。
     //3、如果点击多次,会放进来多次。所以需要一个去重‘
 if (value.name !== home){
      let result = state.tabList.findIndex(item => item.name === value.name)
     result === -1 ? state.tabList.push(value) : ""
    
}
   
}    

}
//处理Tabs
 closeTab(state, value){
     let result = state.tabList.findIndex(item => item.name === value.name)
   state.tabList.splice(result, 1)
}

             

4、tabs组件

 

          <el-tag
                :key="tag.name"
                v-for="tag in tags"
                closable
                :disable-transitions="false"
          :closeable="tag.name !== ‘home‘
                @close="handleClose(tag)">
            {{tag.label}}
        </el-tag>

import {mapState,mapMutations} from vuex

  computed: {
           ...mapState({
               tags:state=>state.tab.tabList
           })
        },

 methods: {
            ...mapMutations({
                close:closeTab
            }),
            handleClose(tag) {
                this.close(tag)
            },

        }

 

Element-UI 写后台【三】 tags标签联动

原文:https://www.cnblogs.com/0520euv/p/11717132.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!