- 默认展示效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/46e192a5bf4c487f9c8c8acdad39bf5a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pmC6ZaT5LiN5aSg5Lul5b6M,size_20,color_FFFFFF,t_70,g_se,x_16)
- 点击对应卡片:
![在这里插入图片描述](https://img-blog.csdnimg.cn/0fbcc63768aa4ebb8db85ddf73cbac96.png)
<template>
<Row :gutter="8" style="margin-top: 14px;clear: both;">
<Col
:xs="24"
:sm="12"
:md="8"
:lg="4"
v-for="(item, index) in curPageData"
:key="index"
>
<Card style="text-align: center;" :class="active===index ? 'activeClass' : '' ">
<div @click="showDemo(item, index)" :class="item.isShow ? 'display' : 'show'">
{{ item.title }}
</div>
<div @click="showDemo(item, index)" v-show="item.isShow">
{{ item.num }}
</div>
</Card>
</Col>
</Row>
</template>
<script>
export default {
data() {
return {
active: 0,
curPageData: [
{ title: 'card1', num: 1 },
{ title: 'card2', num: 2 },
{ title: 'card3', num: 3 },
{ title: 'card4', num: 4 },
]
}
},
methods: {
showDemo(item, index) {
console.log(item, index)
this.active = index
if (!item.isShow) {
this.$set(item, 'isShow', false)
item.isShow = !item.isShow
} else {
item.isShow = !item.isShow
}
},
},
mounted() {
},
}
</script>
<style scoped>
.show {
display: inline-block;
}
.display {
display: none;
}
.activeClass {
box-shadow: 0 0 5px 0 skyblue;
}
</style>