Element-Plus 面包屑当前项样式以及处理最后一个元素

需求:

通过 面包屑el-breadcrumb组件 实现路由菜单的二次显示,需要当前显示的页面与对应的面包屑菜单联动高亮。

由于该组件给最后一个元素在伪类last-child上设置了样式,所以得对其样式做出调整。

html 复制代码
         <el-breadcrumb separator="/">
            <!-- 首页始终显示 -->
            <el-breadcrumb-item :to="{ path: '/home' }">
              <el-icon><House /></el-icon>
              首页
            </el-breadcrumb-item>

            <!-- 动态面包屑项 -->
            <el-breadcrumb-item
              v-for="item in breadcrumbs"
              :key="item.path"
              :to="{ path: item.path }"
              :class="{ 'current-breadcrumb': item.path === route.path }"
              @click="handleBreadcrumbClick(item)"
            >
              <!-- 菜单图标 -->
              <!-- <el-icon><component :is="route.meta.icon || 'Document'" /></el-icon> -->
              {{ item.title }}
              <el-icon class="breadcrumb-close" @click="removeBreadcrumb(item, $event)">
                <Close />
              </el-icon>
              <!-- 只有非当前页面才显示删除按钮 -->
              <!-- <el-icon
                v-if="item.path !== route.path"
                class="breadcrumb-close"
                @click="removeBreadcrumb(item, $event)"
              >
                <Close />
              </el-icon> -->
            </el-breadcrumb-item>
          </el-breadcrumb>

当前项单独设置类样式:

复制代码
 :class="{ 'current-breadcrumb': item.path === route.path }"
css 复制代码
$breadcrumb-item-color: #409eff;

// 面包屑样式
::v-deep .el-breadcrumb {
  .el-breadcrumb__inner.is-link:hover {
    color: $breadcrumb-item-color;
  }
  /* 自定义当前项样式 */
  .current-breadcrumb .el-breadcrumb__inner {
    color: $breadcrumb-item-color;
    font-weight: bold;
  }

  // 最后一个元素
  .el-breadcrumb__item:last-child .el-breadcrumb__inner {
    color: inherit;
    cursor: pointer;
    font-weight: bold;
    &:hover {
      color: $breadcrumb-item-color;
    }
  }

  .current-breadcrumb:last-child .el-breadcrumb__inner {
    color: $breadcrumb-item-color;
  }
}
相关推荐
雪芽蓝域zzs5 分钟前
第17章:ECharts 饼图自定义样式(扇区颜色、轮廓、标签配置 + 空状态兼容)
vue.js·echars
雪芽蓝域zzs13 分钟前
第15章:ECharts 图表事件交互(若依 Vue3)
vue.js·echars
honkun637 分钟前
vue甘特图组件 vxe-gantt 实现拖拽任务自动更新紧前紧后依赖线关联任务的日期
vue.js·vxe-gantt
雪芽蓝域zzs1 小时前
第20章:ECharts 图表主题切换 + 自定义颜色渐变
vue.js·echars
mldong2 小时前
给流程设计器加国际化,我没引 vue-i18n
前端·javascript·vue.js
边境悍匪2 小时前
蜗牛学苑 Java 智能体学习 Day46|贯穿项目 2 思维导图复盘
java·开发语言·vue.js·学习·spring
+VX:Fegn089515 小时前
计算机毕业设计|基于springboot + vue旅游管理系统(源码+数据库+文档)
java·开发语言·vue.js·spring boot·课程设计
雪芽蓝域zzs15 小时前
第 7 章:双 Y 轴组合图(柱状 + 折线,看板高频场景)
vue.js·echars
一 乐15 小时前
二手交易平台|基于springboot + vue二手交易平台(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序
vx-程序开发16 小时前
【计算机毕设】django校园跑腿服务系统83141
java·数据库·vue.js·spring boot·spring·elasticsearch·django