在最上方的图片中,就是使用的 Element Plus 的 Tags 组件,根据点击的不同来展示不同的组件。以下是项目的目录。
官方解释:
渲染一个“元组件”为动态组件。依 is 的值,来决定哪个组件被渲染
因此 component 标签通常适用于多组件中展示其中一个的情况。可以省略很繁琐的 if 判断。减少代码的冗余性,同时提高可读性。接下来让我们看一下具体的实现吧!
因为这三个组件只是测试用,所以内部代码十分简单,这里我就放在一起,没什么难度。
- <template>
- <div class="home">
- 这是第一个组件
- div>
- template>
-
- <template>
- <div class="home">
- 这是第二个组件
- div>
- template>
-
- <template>
- <div class="home">
- 这是第三个组件
- div>
- template>
这个页面可以看到,首先我们是使用了
- <template>
- <div class="home">
- <el-tabs v-model="activeName" type="card" class="demo-tabs" @tab-change="handleChange">
- <el-tab-pane v-for="item in check" :label="item.label" :name="item.name">
- <component :is="activeName">component>
- el-tab-pane>
- el-tabs>
- div>
- template>
- <script setup lang="ts">
- import componentOne from './components/componentOne.vue'
- import componentTwo from './components/componentTwo.vue'
- import componentThree from './components/componentThree.vue'
- import { ref } from 'vue'
-
- const check: Array = [{
- name: 'componentOne',
- label: '第一个'
- }, {
- name: 'componentTwo',
- label: "第二个"
- }, {
- name: 'componentThree',
- label: '第三个'
- }]
-
- const activeName = ref('componentOne')
-
- const handleChange = (name: TabPaneName) => {
- this.activeName = name
- }
- script>
-
- <style>
- .demo-tabs>.el-tabs__content {
- padding: 32px;
- color: #6b778c;
- font-size: 32px;
- font-weight: 600;
- }
- style>
该标签是在项目开发中很经常使用的,通过代码量的优化可以使阅读更加通俗易懂,对于后期修改以及定位也是有很大的帮助的。通常情况下,三个及三个以上的标签需要选其一,我们就可以使用这种去判断。好啦,本文就到此为止了,希望能够对各位小伙伴有所帮助哦~