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;
}
相关推荐
前端小巷子16 分钟前
Webpack 5模块联邦
前端·javascript·面试
晓得迷路了19 分钟前
栗子前端技术周刊第 91 期 - 新版 React Compiler 文档、2025 HTML 状态调查、Bun v1.2.19...
前端·javascript·react.js
江城开朗的豌豆26 分钟前
Vue和React中的key:为什么列表渲染必须加这玩意儿?
前端·vue.js·面试
江城开朗的豌豆31 分钟前
前端路由傻傻分不清?route和router的区别,看完这篇别再搞混了!
前端·javascript·vue.js
LBJ辉2 小时前
2. Webpack 高级配置
前端·javascript·webpack
灵感__idea9 小时前
JavaScript高级程序设计(第5版):好的编程就是掌控感
前端·javascript·程序员
试图让你心动11 小时前
原生input添加删除图标类似vue里面移入显示删除[jquery]
前端·vue.js·jquery
_Kayo_11 小时前
VUE2 学习笔记6 vue数据监测原理
vue.js·笔记·学习
陈琦鹏11 小时前
轻松管理 WebSocket 连接!easy-websocket-client
前端·vue.js·websocket
hui函数12 小时前
掌握JavaScript函数封装与作用域
前端·javascript