/src/layout/Sidebar/index.vue 第11行 :active-text-color="variables.menuActiveText"
查看源码
<li role="menuitem" tabindex="-1" class="el-menu-item is-active" style="padding-left: 40px; color: rgb(242, 103, 110); background-color: rgb(0, 21, 41);">
</li>
.el-menu-item.is-active {
color: #F2676E; // TODO:被覆盖
}
此时样式 .el-menu-item.is-active
已经更改(是正确的),但element-ui源码menu菜单li标签上是根据 :active-text-color
来决定选中颜色是啥, 被行内样式覆盖了。
<li class="el-menu-item"
role="menuitem"
tabindex="-1"
:style="[paddingStyle, itemStyle, { backgroundColor }]"
:class="{
'is-active': active,
'is-disabled': disabled
}"
@click="handleClick"
@mouseenter="onMouseEnter"
@focus="onMouseEnter"
@blur="onMouseLeave"
@mouseleave="onMouseLeave"
/>
itemStyle() {
const style = {
color: this.active ? this.activeTextColor : this.textColor
};
if (this.mode === 'horizontal' && !this.isNested) {
style.borderBottomColor = this.active
? (this.rootMenu.activeTextColor ? this.activeTextColor : '')
: 'transparent';
}
return style;
},
个人暂时修复的办法
:active-text-color="menuActiveColor"
menuActiveColor() {
return this.$store.state.settings.theme
},
1条答案
按热度按时间7vhp5slm1#
我这边也遇到这个问题
直接删掉:active-text-color="variables.menuActiveText"也可以实现切换吧
@PanJiaChen 大神,看是否可以修复一下