element-plus的tab组件如何禁止点击。并且给禁止点击的加上置灰的样式

复制代码
<el-tabs v-model="tabMenu" class="tabs-menu" :before-leave="tabChange">
  <el-tab-pane v-for="item in nemuList" :key="item.id" :label="item.name" :name="item.id" >
    <template #label>
      <div :class="delay==item.id?'disabled':'able'">{{item.name}}</div>
    </template>
    <component :is="item.component" :my-detail="detail" ></component>
  </el-tab-pane>
</el-tabs>

label要写在插槽里。这样方便单独为某一个tab加样式

复制代码
const nemuList = shallowRef([{ name: '申请', id: 0, component: Apply }, { name: '资料审核', id: 1, component: DataReview }, { name: '初评', id: 2, component: InitReview }, { name: '复评', id: 3, component: FinalReview } ]);
const tabMenu = ref(0);
const delay=ref([2,3]);//禁止点击的tab
复制代码
const tabChange = (activeName,oldActiveName) => {
  tabMenu.value=activeName;
  if(delay.value==tabMenu.value){
    console.log("禁止点击")
    return false;
  }
}

给禁止点击的tab添加上样式就行啦

复制代码
.disabled{
  color:#bdbbbb;
}
相关推荐
刚刚好ā9 分钟前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
yqcoder2 小时前
reactflow 中 useNodesState 模块作用
开发语言·前端·javascript
会发光的猪。2 小时前
css使用弹性盒,让每个子元素平均等分父元素的4/1大小
前端·javascript·vue.js
天下代码客3 小时前
【vue】vue中.sync修饰符如何使用--详细代码对比
前端·javascript·vue.js
周全全3 小时前
Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
java·vue.js·spring boot·安全·php
Domain-zhuo3 小时前
什么是JavaScript原型链?
开发语言·前端·javascript·jvm·ecmascript·原型模式
小丁爱养花3 小时前
前端三剑客(三):JavaScript
开发语言·前端·javascript
ZwaterZ4 小时前
vue el-table表格点击某行触发事件&&操作栏点击和row-click冲突问题
前端·vue.js·elementui·c#·vue
码农六六4 小时前
vue3封装Element Plus table表格组件
javascript·vue.js·elementui
徐同保4 小时前
el-table 多选改成单选
javascript·vue.js·elementui