项目中也许会有这种需求:element-ui 标签页组件只能通过代码切换,不能通过点击切换tab!
自己尝试了元素 js 获取元素后再清除绑定事件,失败。。。获取元素为 null
网上找了一大堆,也许你会发现这样的答案:
<p @click="flag && clickEvent()"></p>
加上一个标志位来控制点击事件是否能触发。但是这仅仅只是限制点击事件是否有效。
tab组件中 Tab-pane Attributes 中 disabled 属性可以禁用 tab 切换,所以,给Tab-pane Attributes 加上disabled 属性,直接禁用其点击功能。但是,你会发现,整个样式置灰,奇丑无比,给用户一种不可用的状态。而我要的样式不变,active 的时候tab 导航 仍然高亮。
下面写一下我的处理结果,其实就是障眼法。
我们检查一下 active 且 disabled 状态下的tab元素,会发现 class="el-tabs__item is-active is-disabled" 。
不难发现 is-active 样式仍然在,只是被 is-disabled 覆盖了,那么我们要做的仅是按需求重置样式即可
.el-tabs__item.is-disabled {
color: #303133;
cursor:default
}
.el-tabs__item.is-active {
color: #409EFF;
}
为了避免此处特殊处理样式覆盖掉全局的其他样式,请参照 element-ui样式不能被修改?修改element样式问题 自行添加一个父级class
本文介绍如何在Element-UI中禁用标签页组件的点击切换功能,同时保持样式不变。通过调整CSS样式实现视觉上的禁用效果,使tab无法通过点击切换但外观正常。
6707





