uni-popup组件根据列表的下标关闭窗口不起效
时间: 2024-03-12 15:47:15 浏览: 137
设置窗体关闭按钮无效
如果你想根据列表的下标来关闭popup窗口,可以在点击列表项时将当前列表项的下标传递给`closePopup`方法,然后在该方法中根据下标来关闭对应的popup窗口。
示例代码如下:
```
<template>
<view>
<view v-for="(item, index) in list" :key="index" @click="closePopup(index)">
<!-- 列表项内容 -->
</view>
<popup v-if="showPopup !== null" @close="showPopup=null">
<!-- 弹窗内容 -->
</popup>
</view>
</template>
<script>
export default {
data() {
return {
showPopup: null,
list: [...]
};
},
methods: {
closePopup(index) {
this.showPopup = index;
}
},
watch: {
showPopup(newVal) {
if (newVal !== null) {
// 显示对应的popup窗口
}
}
}
};
</script>
```
在这个示例代码中,我们把`showPopup`的初始值设为`null`,并且在`closePopup`方法中将当前列表项的下标赋值给`showPopup`变量。然后,在`watch`中监听`showPopup`的变化,如果`showPopup`的值不为`null`,就显示对应的popup窗口。
这样,当你点击列表项时,就会根据对应的下标来显示相应的popup窗口了。当popup窗口关闭时,`@close`事件会触发,并将`showPopup`设为`null`,这样就可以保证下一次点击列表项时会显示正确的popup窗口了。
阅读全文