element-plus踩坑,popover+取色器会选不中 消失
问题场景:鼠标移动到按钮上,显示气泡框,气泡框里面包含取色器,当鼠标移动到取色器画布上时,取色器和气泡框会一起消失
解决方法:在取色器上添加 :teleported=false
teleported :控制是否将颜色选择器的DOM结构插入到 body 标签下,默认是 true,这里设置为 false 表示保留在父级元素内。
部分示例代码:
<el-popover placement="bottom" title="主题设置" :width="300" trigger="click">
<!-- 表单元素 -->
<el-form>
<el-form-item label="主题颜色">
<el-color-picker
@change="setColor"
v-model="color"
size="small"
show-alpha
:predefine="predefineColors"
:teleported="false"
/>
</el-form-item>
<el-form-item label="暗黑模式">
<el-switch
@change="changeDark"
v-model="dark"
class="mt-2"
style="margin-left: 24px"
inline-prompt
active-icon="MoonNight"
inactive-icon="Sunny"
/>
</el-form-item>
</el-form>
<template #reference>
<el-button size="small" icon="Setting" type="primary" circle></el-button>
</template>
</el-popover>
奇怪的点:为什么移动到子 组件 上,父组件还会消失?