1、在页面写好循环和点击事件(点击事件带上参数index)
<template>
<div v-for="(item,index) in List" :key="index">
<div @click="change(index)">{{ item.name }}</div>
<div>{{ item.age }}</div>
</div>
</template>
2、给从后台获取的数据添加一个自定义参数 flag
async getuserList() {
const res = await this.$http.get('')
if (res.status == 200) {
res.data.list.forEach((item) => {
item.flag = false
res.data.list.push(item)
})
}
},
根据自定义的参数状态来控制div的显示与隐藏
change(index) {
if(this.list[index].flag == false) {
this.list[index].flag = true
} else {
this.list[index].flag = false
}
}
4、在div上写上判断条件
<template>
<div v-for="(item,index) in List" :key="index">
<div @click="change(index)">{{ item.name }}</div>
<div v-if="item.flag== true">{{ item.age }}</div>
</div>
</template>
保证有效,亲测有效