Vue3面包屑(Breadcrumb)

可自定义设置以下属性:

  • router的路由数组(routes),必传,默认为[]
  • 面包屑高度(height),默认60px
  • 自定义分隔符(separator),默认'',使用 > 分隔

效果如下图:

①创建面包屑组件Breadcrumb.vue:

<template><div class="m-breadcrumb" :style="`height: ${height}px;`"><div class="m-bread" v-for="(route, index) in routes" :key="index"><a:class="['u-route',{ active: index===len-1 }]"@click="index === len - 1 ? e => e.preventDefault() : goRouter(route)":title="route.name">{{ route.name || '--' }}</a><template v-if="index !== len - 1"><span v-if="separator" class="u-separator">{{ separator }}</span><svg v-else class="u-arrow" viewBox="64 64 896 896" data-icon="right" aria-hidden="true" focusable="false"><path d="M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z"></path></svg></template></div><div class="assist"></div></div>
</template>
<script>
export default {name: 'Breadcrumb',props: {routes: { // router的路由数组type: Array,required: true,default: () => {return []}},height: { // 面包屑高度type: Number,default: 60},separator: { // 自定义分隔符type: String,default: ''}},computed: {len () { // 面包屑层级总数return this.routes.length}},methods: {goRouter (route) {this.$router.push({ path: route.path, query: route.query || {} })}}
}
</script>
<style lang="less" scoped>
.m-breadcrumb {.m-bread {display: inline-block;vertical-align: middle;.u-route {height: 22px;font-size: 16px;font-weight: 400;line-height: 22px;color: #333;display: inline-block;vertical-align: middle;max-width: 240px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;cursor: pointer;&:hover {color: @themeColor;}}.active {color: @themeColor;cursor: default;}.u-separator {display: inline-block;vertical-align: middle;margin: 0 6px;}.u-arrow {.u-separator();margin: 0 5px;width: 12px;height: 12px;}}.assist {height: 100%;width: 0;display: inline-block;vertical-align: middle;}
}
</style>

②在要使用的页面引入:

<Breadcrumb class="mt60" :routes="routes" :height="60" separator="/" />
import Breadcrumb from '@/components/Breadcrumb'
components: {Breadcrumb
},
routes: [{path: '/first', // 路由地址query: { id: 1, tab: 2 }, // 路由参数name: '一级路由' // 路由名称},{path: '/second',name: '二级路由'},{path: '/third',name: '三级路由三级路由三级路由三级路由三级路由三级路由三级路由'}
]

Vue2面包屑(Breadcrumb)相关推荐

  1. Vue3面包屑(Breadcrumb)

    Vue2面包屑(Breadcrumb) 可自定义设置以下属性: router 的路由数组(routes),必传,类型:Array<{path: string, query?: object, n ...

  2. 后台——侧边和面包屑导航栏设计与实现方案

    一.功能描述 后台管理系统最重要的功能之一无疑是导航的设计,不管是侧边导航栏还是头部面包屑导航栏,导航与路由如何去匹配是开发人员需要去考虑的问题.点击侧边导航栏的某一项可以跳转到当前页面的路由,头部面 ...

  3. react Antd 的面包屑与导航使用例子

    使用面包屑,当点击不同二级导航,显示不同面包屑,代码重点是: 在Layout渲染的页面中: import React from "react"; import "./st ...

  4. vue3 - 仿 element-ui Breadcrumb 面包屑组件封装自己的面包屑组件

    仿 element-ui Breadcrumb 面包屑组件封装自己的面包屑组件 element-ui 面包屑结构 <el-breadcrumb separator="/"&g ...

  5. 改变路径但是不让它跳转_Vue实战047:Breadcrumb面包屑实现导航路径

    前言 在网站中我们经常看到有个导航路径,可以直观地显示当前页面的路径,并快速返回之前的任意页面.这是一个非常实用的功能,也是在Web前端必备的导航UI之一.今天我们借助el-breadcrumb来快速 ...

  6. react+ant design Breadcrumb面包屑组件

    import React from 'react'; import { Link }from 'react-router-dom'; import { Breadcrumb } from 'antd' ...

  7. 一行代码搞定WordPress面包屑导航breadcrumb

    有好几位网友在问WordPress面包屑导航breadcrumb怎么操作,网上有些教程是去function文件中定义,其实不用那么复杂,很简单一行代码就能搞定.下面随ytkah一起来看看.如果是单页, ...

  8. Vue elementUI中的Breadcrumb面包屑

    目录 一.前言 二.组件使用 三.总结 一.前言 面包屑用于显示当前页面的路径,快速返回之前的任意页面. 例如: 二.组件使用 elementUI官网的实例十分简单,并没有配合路由来创建面包屑. 但是 ...

  9. Bootstrap 面包屑导航(Breadcrumb)

    一.Bootstrap 面包屑导航 1.1 面包屑导航css 面包屑导航是一种基于网站层次信息的显示方式.以博客为例,面包屑导航可以显示发布日期.类别或标签.它们表示当前页面在导航层次结构内的位置,是 ...

最新文章

  1. HDOJ 1253 HDU 1253 胜利大逃亡 ACM 1253 IN HDU
  2. PPT学习资源(总)
  3. 5家顶级投资方同台现身,力捧神策数据为哪般?
  4. 页面初始加载的是默认刷新一次(f5)
  5. 《修改winXP pro安装界面》 、《修改winXP pro开机画面》、《修改winXP pro登录画面》...
  6. 8款最受欢迎的HTML5/CSS3应用及代码
  7. Datatables参数详解
  8. spring test教程
  9. Unwind 栈回溯详解:libunwind
  10. SchemaCrawler 9.4 发布,数据库结构输出
  11. java sybase数据库连接_在JAVA中连接Sybase数据库(例子)
  12. 最新发布!2021软科中国大学排名
  13. sqlplus报错ORA-12547: TNS:lost contact解决
  14. 博客什么的写也就写了
  15. PPT进阶篇---如何让你的声音好听
  16. 显示类型转换和隐式类型转换
  17. ZZULIOJ-1095: 时间间隔(多实例测试)(Java)
  18. 数据可视化图表之面积折线图
  19. 打团掉线一直连接服务器,魔兽世界怀旧服服务器断开连接怎么办_一直掉线怎么解决...
  20. 001-课程体系以及环境搭建

热门文章

  1. python自带的文档生成工具,Python文档生成工具pydoc
  2. zabbix编译解决ldap问题
  3. 税与地税、非税的区别?简要说明
  4. 没有美术基础也可以学习3D模型吗?| 零基础学建模
  5. linux 第十三天 linuxprobe
  6. java强转规则_java类型转换及其规则介绍
  7. 作为一名程序员你凭什么傲视群雄
  8. 那些与鸡缸杯且行且珍惜的人
  9. 用STM32 USB虚拟串口替代UART
  10. CCNP350-401学习笔记(251-300题)