当前位置: 首页 > news >正文

19.面包屑导航制作

面包屑导航制作

官网:组件 | Element

1. 在layout下新建BreadCrumb.vue

BreadCrumb.vue

<template><div class="bread-text"><el-breadcrumb class="bred"separator="/"><el-breadcrumb-item v-for="item in tabs">{{ item.meta.title }}</el-breadcrumb-item></el-breadcrumb></div>
</template><script setup lang="ts">
import { onMounted, ref,Ref,watch } from 'vue';
import { useRoute,RouteLocationMatched } from 'vue-router';
// 获取当前路由
const route = useRoute();
//定义面包屑导航数据
const tabs : Ref<RouteLocationMatched[]> = ref([])
//获取面包数据
const getBreadCrumb = () => {// console.log(route)//找出存在title属性的路由数据let matched = route.matched.filter((item)=>item.meta && item.meta.title)// console.log(matched)const first = matched[0]//如果第一项不是首页,则添加首页if(first.path !=='/dashboard'){//构造首页matched = [{path:'/dashboard',meta:{title:'首页'}} as any].concat(matched)}tabs.value = matched;
}
//监听当前路由
watch(()=>route.path,()=>getBreadCrumb()
)
//刷新面包屑数据不会丢失当前页面
onMounted(()=>{getBreadCrumb()
})
</script><style scoped lang="scss">
//修改字体颜色
:deep(.el-breadcrumb__inner) {color: #8d8d8d !important;
}
.bred {margin-left: 20px;
}
// 修改字体大小
:deep(.el-breadcrumb__item) {font-size: 15px !important;
}
.bread-text{margin-left: 29px;
}
</style>

在Index.vue中引入

<template><el-container class="mycontainer"><el-aside width="230px" class="asside"><Menu></Menu></el-aside><el-container><el-header class="header"><Collapse></Collapse><BreadCromb></BreadCromb></el-header><el-main class="mymain"><router-view></router-view></el-main></el-container></el-container>
</template><script setup lang="ts">
import Menu from "./Menu.vue"
import Collapse from "./Collapse.vue";
import BreadCromb from "./BreadCromb.vue";
</script><style scoped lang="scss">
.mycontainer{height: 100%;.asside{background-color: #0a2542;// 使宽度自适应width: auto;}.header{background-color: rgb(255, 255, 255);color: #000;display: flex;align-items: center;}.mymain{background-color: rgb(244, 244, 244);}
}</style>

2. 效果图

在这里插入图片描述

http://www.lryc.cn/news/376319.html

相关文章:

  • 做动画?Animatediff 和 ComfyUI 更配哦!
  • 笔记-python里面的xlrd模块详解
  • oracle将字符串中的字符和数字拆分开等功能
  • 汇编基础之使用vscode写hello world
  • APS计划排程系统如何打破装备使用约束
  • gigachad - suid
  • QtScript模块
  • qt中for循环不要使用循环中会更改的变量
  • spark独立集群搭建
  • 【BFS算法】广度搜索·由起点开始逐层向周围扩散求得最短路径(算法框架+题目)
  • 微信小程序---登录
  • IPython大师课:提升数据科学工作效率的终极工具
  • 抖音素材网站平台有哪些?素材下载网站库分享
  • MODBUS TCP协议实例数据帧详细分析
  • Spring Boot启动与运行机制详解:初学者友好版
  • Ubuntu 22.04 解决 firefox 中文界面乱码
  • 前端面试题日常练-day77 【面试题】
  • 团队协同渗透测试报告输入输出平台部署
  • vue3-父子通信
  • 微信小程序—页面滑动,获取可视区域数据
  • C#语言进阶(一)—委托
  • VST3音频插件技术介绍
  • MySQL数据库管理 二
  • android system UI 基础的基础
  • ARM32开发——GD32F4定时器查询
  • 【机器学习】第7章 集成学习(小重点,混之前章节出题但小题)
  • 代码随想录——子集Ⅱ(Leecode 90)
  • vue关闭页面时触发的函数(ai生成)
  • 马尔可夫性质与Q学习在强化学习中的结合
  • 【LeetCode 5.】 最长回文子串