2.12.0
Windows 10 Pro 1903 / Google Chrome 77.0.3865.90
2.6.10
https://jsfiddle.net/3ej0x5yf/
click the blue button to full screen, the Popover and Tooltip will not display properly
If there is a full screen effect on a DIV, the Popover and Tooltip is ok.
If there is a full screen effect on a DIV, the Popover and Tooltip will not display properly
如果一个DIV开启全屏效果,则Popover和Tooltip不能正常显示。
如果一个DIV开启全屏效果,则Popover和Tooltip不能正常显示。
我也遇到了这个问题,不能正常显示的原因是因为Popover和Tooltip是直接挂在body下,局部全屏只能全屏你这个div以及内部的元素。 不过我参考官方提供api修改Popover的opover-options好像没什么效果。
Hi all, I just fix this using body tag element. if el-tooltip element apended to body means you should assign the body element as fullscreen element..
var element = document.getElementsByTagName('body')[0];
同样问题,觉得 tooltip 和 popover 应该提供类似 getContainer 之类的 props
最近也遇到了同样的问题,看了下element的源码,发现可以这么解决~
popover可以直接加:append-to-body="false",但是tooltip麻烦点,加完appendToBody后发现弹出内容没有插入dom……所以自己写了个指令作为辅助,解决问题^_^
/*
!!! 使用此指令需要先设置<el-tooltip :append-to-body="false">
例子1:v-el-tooltip-append-to="$des"
例子2:v-el-tooltip-append-to
说明:$des为要将文字提示的弹出框插入的目的节点元素,不写则默认插入指令绑定节点元素的父节点
*/
import { DirectiveBinding } from 'vue/types/options';
import { VNode } from 'vue';
export default {
bind(el: any, binding: DirectiveBinding, vnode: VNode) {
el.tooltipAppend = () => {
// 插入的目的节点元素
const des = binding.value || el.parentElement;
// 获取tooltip的节点元素popper
const popper = vnode.componentInstance && vnode.componentInstance.$refs.popper as Element;
// 将popper插入目的节点元素
if (popper && des && !document.getElementById(popper.id)) {
des.appendChild(popper);
}
};
el.removeEventListener('mouseenter', el.tooltipAppend);
el.addEventListener('mouseenter', el.tooltipAppend);
},
unbind(el: any) {
el.removeEventListener('mouseenter', el.tooltipAppend);
},
};
@linjiajian999 如果我在 el-dialog 中使用了 el-tooltip,你的辅助指令也能显示加了 append-to-body="false" 的 tooltip 吗
@linjiajian999 如果我在 el-dialog 中使用了 el-tooltip,你的辅助指令也能显示加了
append-to-body="false"的 tooltip 吗
@Leecason 老哥是不是 艾特 错人了
@linjiajian999 如果我在 el-dialog 中使用了 el-tooltip,你的辅助指令也能显示加了
append-to-body="false"的 tooltip 吗@Leecason 老哥是不是 艾特 错人了
对不起~😄
@linjiayu2012 如果我在 el-dialog 中使用了 el-tooltip,你的辅助指令也能显示加了 append-to-body="false" 的 tooltip 吗
@linjiayu2012 如果我在 el-dialog 中使用了 el-tooltip,你的辅助指令也能显示加了
append-to-body="false"的 tooltip 吗
可以的,这个指令只是用来解决将tooltip的append-to-body设置为false时提示框没有插入dom的问题。
发现datepicker 以及 下拉框也存在这种问题 有办法解决吗 ?
发现datepicker 以及 下拉框也存在这种问题 有办法解决吗 ?
可以的,他们俩实际用的是popover。datepicker可以直接用:append-to-body="false",下拉框的话官方文档有说明,可以用:popper-append-to-body="false"
Most helpful comment
最近也遇到了同样的问题,看了下element的源码,发现可以这么解决~
popover可以直接加:append-to-body="false",但是tooltip麻烦点,加完appendToBody后发现弹出内容没有插入dom……所以自己写了个指令作为辅助,解决问题^_^