el-popover双层嵌套
时间: 2023-11-19 17:55:27 浏览: 124
el-popover双层嵌套会导致子popover中的弹窗打开第二个的时候第一个不能自动关闭。解决方法是在外层popover的内容上添加click事件,用this.$refs.XXX.doClose()方法关闭,同时触发内部popover的reference,需要添加click事件阻止事件冒泡,两者缺一不可。另外,el-popover是会根据body的点击事件来进行显隐的,如果点击了非弹出层包裹的内容,那么弹出层就会关闭。
相关问题
el-popover嵌套el-popover
el-popover是Element UI中的一个组件,用于实现弹出式的气泡框。el-popover可以嵌套el-popover,实现多层级的弹出框效果。
要实现el-popover嵌套el-popover,可以按照以下步骤进行操作:
1. 在需要嵌套的元素上添加el-popover组件,并设置相应的属性和内容。
2. 在el-popover的内容中,再次添加el-popover组件,并设置相应的属性和内容。
3. 根据需要,可以继续嵌套更多层级的el-popover组件。
需要注意的是,每个el-popover组件都需要设置不同的触发方式和位置,以避免重叠或冲突。
以下是一个示例代码,演示了如何嵌套el-popover:
```html
<template>
<div>
<el-button type="primary" v-popover:outer>点击我</el-button>
<el-popover ref="outer" placement="right-start" width="200">
<p>外层Popover内容</p>
<el-button type="success" v-popover:inner>点击我</el-button>
<el-popover ref="inner" placement="right-start" width="200">
<p>内层Popover内容</p>
</el-popover>
</el-popover>
</div>
</template>
<script>
export default {
// ...
}
</script>
```
在上述示例中,外层Popover通过`v-popover:outer`指令与按钮进行关联,内层Popover通过`v-popover:inner`指令与按钮进行关联。通过设置不同的placement属性,可以控制Popover的弹出位置。
el-popover嵌套el-popover placement位置失效
el-popover是Element UI框架中的一个组件,用于实现弹出式的气泡框。当嵌套el-popover时,placement属性可能会失效的原因有以下几点:
1. 父级popover的触发方式不正确:父级popover的触发方式应该设置为"manual",而不是默认的"click"。这样可以避免点击父级popover时关闭子级popover。
2. 子级popover的触发方式设置错误:子级popover的触发方式应该设置为"click",而不是默认的"hover"。这样可以确保子级popover在点击时才会显示。
3. 父级popover和子级popover的z-index值冲突:如果父级popover和子级popover的z-index值相同或者存在冲突,可能会导致placement位置失效。可以尝试调整它们的z-index值,确保子级popover的z-index值比父级popover更高。
4. 父级popover和子级popover的定位容器不正确:父级popover和子级popover应该分别设置不同的定位容器,以确保它们能够正确地相对于各自的定位容器进行定位。
阅读全文