elemen-plus点击空白处关闭el-popover
问题:
el-popover设置 :visible 手动关闭弹窗后,无法点击空白处关闭弹窗。
解决方案:
<script setup lang="ts"> import { ref, unref } from "vue"; import { ClickOutside as vClickOutside } from "element-plus"; const popoverShow = ref(false); //是否显示 const popoverRef = ref(); /**点击空白处隐藏 */ const onClickOutside = (e: any) => { if ( popoverShow.value && !unref(popoverRef).popperRef.contentRef.contains(e.target) ) { popoverShow.value = false; } }; /**提交方法 */ function submit() { console.log("提交成功"); } </script> <template> <el-popover placement="bottom" :width="160" :visible="popoverShow" ref="popoverRef" > <div class="mt-10" style="text-align: right; margin: 0"> <div>文本内容</div> <el-button size="small" text @click="popoverShow = false">取消</el-button> <el-button size="small" type="primary" @click="submit()">确认</el-button> </div> <template #reference> <el-button type="primary" @click="popoverShow = true" v-click-outside="onClickOutside" > open </el-button> </template> </el-popover> </template>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理