程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 快速入手

  • 基础组件

  • 表单组件

  • 数据展示组件

  • 反馈组件

  • 导航组件

    • 导航菜单 (NavMenu)
    • 标签页组件 (Tabs)
    • 面包屑组件 (Breadcrumb)
      • 1. 基本用法
      • 2. Breadcrumb 属性
      • 3. Breadcrumb Item 属性
      • 4. 面包屑组件常用示例
        • 1. 基础用法
        • 2. 自定义分隔符
        • 3. 使用路由对象
      • 5.面包屑组件示例
    • 页头组件 (PageHeader)
    • 下拉菜单组件 (Dropdown)
    • 步骤条组件 (Steps)
  • 其他组件

  • Element-UI
  • 导航组件
scholar
2024-08-12
目录

面包屑组件 (Breadcrumb)

# 面包屑组件 (Breadcrumb)

Element UI 的 Breadcrumb 面包屑组件用于显示当前页面的路径,并且提供快速返回之前的任意页面的功能。面包屑组件通常在页面顶部使用,以清晰展示用户的导航路径。

提示

Breadcrumb 面包屑组件官方文档:https://element.eleme.cn/#/zh-CN/component/breadcrumb (opens new window)

# 1. 基本用法

基本语法:通过 <el-breadcrumb> 和 <el-breadcrumb-item> 标签构建面包屑导航。面包屑项之间的分隔符可以通过 separator 或 separator-class 属性自定义。

<template>
  <el-breadcrumb separator="/">
    <el-breadcrumb-item to="/">首页</el-breadcrumb-item>
    <el-breadcrumb-item to="/category">分类</el-breadcrumb-item>
    <el-breadcrumb-item>详情</el-breadcrumb-item>
  </el-breadcrumb>
</template>

<script>
export default {
  // 组件逻辑
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
  • <el-breadcrumb>:用于定义整个面包屑导航容器。
  • <el-breadcrumb-item>:用于定义面包屑导航中的每一项,可以通过 to 属性指定跳转的路由路径。
  • image-20240810214938744

# 2. Breadcrumb 属性

参数 说明 类型 可选值 默认值
separator 分隔符字符串 string — '/'
separator-class 图标分隔符的类名 string — —
  • separator 属性:定义面包屑项之间的分隔符,默认值是斜杠 '/'。你可以通过设置这个属性为其他字符串来更改分隔符。

  • separator-class 属性:通过类名来自定义分隔符图标。例如,你可以使用 el-icon-arrow-right 来使用向右箭头作为分隔符。

    <el-breadcrumb separator-class="el-icon-arrow-right">
      <el-breadcrumb-item to="/">首页</el-breadcrumb-item>
      <el-breadcrumb-item to="/category">分类</el-breadcrumb-item>
      <el-breadcrumb-item>详情</el-breadcrumb-item>
    </el-breadcrumb>
    
    1
    2
    3
    4
    5

image-20240810215331053

# 3. Breadcrumb Item 属性

参数 说明 类型 可选值 默认值
to 路由跳转对象,同 vue-router 的 to string/object — —
replace 在使用 to 进行路由跳转时,启用 replace 将不会向 history 添加新记录 boolean — false
  • to 属性:定义跳转的路由对象。该属性的用法和 vue-router 的 to 属性一致,可以是路径字符串或路由对象。

  • replace 属性:如果设置为 true,在导航到新路由时不会在浏览器历史记录中添加新记录,而是替换掉当前的记录。

    <el-breadcrumb>
      <el-breadcrumb-item :to="{ path: '/', replace: true }">首页</el-breadcrumb-item>
      <el-breadcrumb-item to="/category">分类</el-breadcrumb-item>
      <el-breadcrumb-item>详情</el-breadcrumb-item>
    </el-breadcrumb>
    
    1
    2
    3
    4
    5

# 4. 面包屑组件常用示例

# 1. 基础用法

基础的面包屑导航使用斜杠作为分隔符,并且为每一个导航项设置了跳转路径。

<el-breadcrumb separator="/">
  <el-breadcrumb-item to="/">首页</el-breadcrumb-item>
  <el-breadcrumb-item to="/products">产品</el-breadcrumb-item>
  <el-breadcrumb-item>详情</el-breadcrumb-item>
</el-breadcrumb>
1
2
3
4
5

# 2. 自定义分隔符

通过 separator-class 属性自定义分隔符为右箭头图标。

<el-breadcrumb separator-class="el-icon-arrow-right">
  <el-breadcrumb-item to="/">首页</el-breadcrumb-item>
  <el-breadcrumb-item to="/category">分类</el-breadcrumb-item>
  <el-breadcrumb-item>详情</el-breadcrumb-item>
</el-breadcrumb>
1
2
3
4
5

image-20240810215355207

# 3. 使用路由对象

通过 to 属性传入路由对象,并使用 replace 进行路由跳转时不会添加新记录。

<el-breadcrumb>
  <el-breadcrumb-item :to="{ path: '/', replace: true }">首页</el-breadcrumb-item>
  <el-breadcrumb-item to="/products">产品</el-breadcrumb-item>
  <el-breadcrumb-item>详情</el-breadcrumb-item>
</el-breadcrumb>
1
2
3
4
5

# 5.面包屑组件示例

image-20240810223756163

<template>
  <div class="manager-header-center">
    <!-- 使用 Element UI 的面包屑组件显示导航路径 -->
    <el-breadcrumb separator-class="el-icon-arrow-right">
      <!-- 首页链接 -->
      <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
      <!-- 当前路由的名称 -->
      <el-breadcrumb-item :to="{ path: $route.path }">{{ $route.meta.name }}</el-breadcrumb-item>
    </el-breadcrumb>
  </div>
</template>
1
2
3
4
5
6
7
8
9
10
11
  • $route.path 用于动态获取当前路由路径,$route.meta.name 显示当前路由的名称。
  • 通过这种导航式跳转路,由如果相同会报错在vueRouter加入以下代码即可解决
// 保存 VueRouter 原始的 push 方法
const originalPush = VueRouter.prototype.push;

// 重写 VueRouter 的 push 方法
VueRouter.prototype.push = function push(location) {
  // 调用原始的 push 方法,并捕获返回的 Promise 的错误
  return originalPush.call(this, location).catch(err => err);
};
1
2
3
4
5
6
7
8
编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
标签页组件 (Tabs)
页头组件 (PageHeader)

← 标签页组件 (Tabs) 页头组件 (PageHeader)→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式