网络编程
位置:首页>> 网络编程>> JavaScript>> vue基础之面包屑和标签tag详解

vue基础之面包屑和标签tag详解

作者:jayLog  发布时间:2024-05-28 15:42:43 

标签:vue,面包屑,标签tag

面包屑导航(breadcrumb)

面包屑导航显示当前页面的路径,同时支持跳回之前任意页面

breadcrumb的使用:

按需引入的需要引入两个模块:BreadcrumbBreadcrumbItem,在main.js中

// main.js
import {Breadcrumb, BreadcrumbItem} from 'element-ui';
// 面包屑导航,注入到全局
Vue.use(Breadcrumb)
Vue.use(BreadcrumbItem)

在页面中使用

breadcrumb非常简单,直接定义即刻,跳转的功能通过为BreadcrumbItem组件添加to属性即可。如下例子:

<template>
   <el-breadcrumb>
       <!-- 跳转传入的为一个对象,需要一个path属性指明跳转的地址。{path:路由地址} -->
       <el-breadcrumb-item v-for="item in tabList" :key="item.name" :to="{path:item.path}">{{item.label}}</el-breadcrumb-item>
   </el-breadcrumb>
</template>
<script>
export default {
   name:'ComHeader',
   data:function(){
       return {
           tabList:[
               {
                   name:'index',
                   // 这里的路径必须是vue-router里定义的路由
                   path:'/',
                   label:'首页'
               },{
                   name:'user',
                   // 这里的路径必须是vue-router里定义的路由
                   path:'/user',
                   label:'用户管理'
               },{
                   name:'mall',
                   // 这里的路径必须是vue-router里定义的路由
                   path:'/mall',
                   label:'商品管理'
               }
           ]
       }
   }
</script>

vue基础之面包屑和标签tag详解

两个组件模板的属性说明:

breadcrumb

参数说明默认值
separator分隔符号,默认斜杠: /&lsquo;/&rsquo;
separator-class分割符号的样式类名,可以为分隔符添加定制样式 

breadcrumb-item

参数说明类型
to要跳转的地址,字符串或对象的形式。对象使用{path:路由地址}string\object
replace在使用 to 进行路由跳转时,启用 replace 将不会向 history 添加新记录boolean(默认false)

标签(tag)

用于标记和选择

1.在main.js中引用tag

// main.js
import {Tag} from 'element-ui'
// 全局注入vue中
Vue.use(Tag)

2.在页面或组件中使用tag

<template>
<div class="tag-group">
   <el-tag
   v-for="(item,index) in tags"
   :key="item.name"
   :closable="true"
   @click="handleMenu(item)"
   @close="handleClose(item,index)"
   size="small"
   :effect="item.name === $router.name ? 'light' : 'dark'"
   >{{item.label}}</el-tag>
</div>
</template>
<script>
export default {
   data(){
       return {
           tags:[
               {
                   name:'index',
                   path:'/',
                   label:'首页'
               },{
                   name:'user',
                   path:'/user',
                   label:'用户管理'
               },{
                   name:'mall',
                   path:'/mall',
                   label:'商品管理'
               }
           ]
       }
   },
   methods:{
       handleMenu:function(tag){
           console.dir(tag)
       },
       // tag的关闭是通过手动删除数据实现的
       handleClose(tag,index){
           console.dir(tag)
           this.tags.splice(index,1)
       },
   },
}
</script>

vue基础之面包屑和标签tag详解

3.Tag的属性

属性属性值说明
typesuccess/info/warning/danger设置tag的几种背景颜色
closableboolean默认falsetag是否可关闭,默认不可关闭
disable-transitionsboolean默认false是否禁用渐变东西和,默认不禁止
hitboolean默认false是否有边框描边
sizemedium / small / mini定义tag大小
effectdark / light / plain默认light主题

4.Tag的事件有两个,点击和关闭

事件名称说明回调参数
click点击 Tag 时触发的事件传入函数名,可加参数;
close点击Tag的关闭按钮时触发的事件传入函数名,可加参数。例如@close=&ldquo;func(&lsquo;close&rsquo;)&rdquo;

来源:https://blog.csdn.net/jayLog/article/details/122851622

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com