for循环中使用el-popover
时间: 2023-10-18 18:05:08 浏览: 146
可以在for循环中使用el-popover,但需要注意以下几点:
1.每个el-popover需要有独立的id,可以使用循环变量作为id的一部分,保证每个popover的id唯一。
2.需要在el-popover中使用v-model来控制是否显示popover。
3.需要在循环的每个元素中添加一个点击事件,用来控制对应的popover的显示和隐藏。
示例代码:
```
<template>
<div>
<div v-for="(item, index) in list" :key="index">
<span @click="showPopover(index)">{{ item }}</span>
<el-popover
:id="'popover_' + index"
v-model="popovers[index]"
placement="top"
trigger="click"
>
<p>这是{{ index }}号popover</p>
</el-popover>
</div>
</div>
</template>
<script>
export default {
data() {
return {
list: ['item1', 'item2', 'item3'],
popovers: [false, false, false],
};
},
methods: {
showPopover(index) {
this.popovers = this.popovers.map((val, i) => i === index);
},
},
};
</script>
```
在上面的代码中,循环遍历了一个列表,每个列表项都对应一个el-popover。点击列表项时,会显示对应的popover,再次点击则隐藏。为了控制每个popover的显示和隐藏,使用了一个数组popovers来记录每个popover的状态。在showPopover方法中,将popovers数组中对应的项设置为true,其他项设置为false,实现了只显示一个popover的效果。
阅读全文