el-breadcrumb-item 怎么做到点击哪个 变为高亮文字
时间: 2024-12-16 22:30:20 浏览: 16
`el-breadcrumb-item` 是 Element UI 中的一个面包屑导航组件,它通常用于显示页面结构层次。为了实现点击某个导航项后高亮显示的效果,你需要结合 Vue.js 的组件交互和 CSS 来完成。以下是一个基本步骤:
1. 绑定 `active-class` 或 `@click` 事件:
在你的模板中,给每个 `el-breadcrumb-item` 组件添加一个 `active-class` 属性,这个属性是一个字符串,当对应的链接被激活时,其样式会被应用。同时,可以监听 `click` 事件以便于处理。
```html
<el-breadcrumb separator="/">
<el-breadcrumb-item v-for="item in breadcrumbList" :key="item.path" @click="toggleActive(item)">
{{ item.text }}
<span class="highlight" v-bind:class="{ active: isActive(item) }">{{ item.text }}</span>
</el-breadcrumb-item>
</el-breadcrumb>
```
2. 定义状态和方法:
创建一个数据属性 `isActive` 或者一个数组来保存当前激活的路径,然后在 `toggleActive` 方法里更新这个状态。
```javascript
data() {
return {
breadcrumbList: ...,
activePath: ''
},
},
methods: {
toggleActive(item) {
this.activePath = item.path;
this.$set(this.breadcrumbList, item.index, { ...item, active: true });
// 如果需要清除其他已激活项
this.breadcrumbList.forEach((i, index) => {
if (index !== item.index && i.path !== this.activePath) {
i.active = false;
}
});
},
}
```
3. CSS 高亮样式:
编写一些 CSS 样式,比如 `.highlight.active`,来设置激活的导航项的高亮效果,如字体颜色、背景等。
```css
.highlight {
color: #009688; /* 活跃颜色 */
}
.highlight.active {
background-color: rgba(0, 150, 136, 0.1); /* 高亮背景色 */
font-weight: bold; /* 加粗显示 */
}
```
阅读全文