封装Tabs 标签页 - Element UI

本文介绍了如何在父组件中使用Element UI的el-tabs组件动态切换,并展示如何通过v-model绑定状态管理子组件的显示。通过`handleClick`方法,根据tab名称控制child1和child2组件的显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码留念
父组件

<template>
  <div>
    <el-tabs v-model="activeName" @tab-click="handleClick">
      <el-tab-pane label="团队维护" name="latitude" :key="'latitude'">
        <team v-if="isChildUpdate1"></team>
      </el-tab-pane>
      <el-tab-pane label="故障等级维护" name="dimension" :key="'dimension'">
        <dimension v-if="isChildUpdate2"></dimension>
      </el-tab-pane>
    </el-tabs>
  </div>
</template>

<script>
import { constantRoutes } from '@/pages/ddfault/router';
import ModuleLayout from '@/components/ModuleLayout';
import team from './components/team';
import dimension from './components/dimension';
export default {
  name: 'ddfaultotality',
  components: {
    team,
    dimension,
    ModuleLayout
  },
  data() {
    return {
      activeName: 'latitude',
      isChildUpdate1: true,
      isChildUpdate2: false
    };
  },
  methods: {
    handleClick(tab) {
      if (tab.name == 'latitude') {
        this.isChildUpdate1 = true;
        this.isChildUpdate2 = false;
      } else if (tab.name == 'dimension') {
        this.isChildUpdate1 = false;
        this.isChildUpdate2 = true;
      }
    }
  }
};
</script>

<style lang="scss" scoped>
</style>

组件1and2

<template>
  <div class="child1">我是第一个自组件</div>
</template>

<script>
export default {
  name: 'child1',
  mounted() {
    console.log('tab1组件');
  }
};
</script>
<template>
  <div class="child2">我是第二个自组件</div>
</template>

<script>
export default {
  name: 'child2',
  mounted() {
    console.log('tab1组件');
  }
};
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值