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;
}
相关推荐
燃先生._.12 分钟前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js
高山我梦口香糖1 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
black^sugar2 小时前
纯前端实现更新检测
开发语言·前端·javascript
2401_857600953 小时前
SSM 与 Vue 共筑电脑测评系统:精准洞察电脑世界
前端·javascript·vue.js
2401_857600953 小时前
数字时代的医疗挂号变革:SSM+Vue 系统设计与实现之道
前端·javascript·vue.js
GDAL3 小时前
vue入门教程:组件透传 Attributes
前端·javascript·vue.js
小白学大数据3 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具
轻口味3 小时前
Vue.js 核心概念:模板、指令、数据绑定
vue.js
2402_857583494 小时前
基于 SSM 框架的 Vue 电脑测评系统:照亮电脑品质之路
前端·javascript·vue.js