Commit 1eaec019 authored by cinwell.li's avatar cinwell.li Committed by baiyaaaaa

Tooltip: fix content slot, fixed #2999 (#3002)

parent d528498c
import Popper from 'element-ui/src/utils/vue-popper';
import debounce from 'throttle-debounce/debounce';
import { getFirstComponentChild } from 'element-ui/src/utils/vdom';
import Vue from 'vue';
export default {
......@@ -65,9 +66,10 @@ export default {
</div>
</transition>);
if (!this.$slots.default) return this.$slots.default;
if (!this.$slots.default || !this.$slots.default.length) return this.$slots.default;
const vnode = this.$slots.default[0];
const vnode = getFirstComponentChild(this.$slots.default);
if (!vnode) return vnode;
const data = vnode.data = vnode.data || {};
const on = vnode.data.on = vnode.data.on || {};
......
import Vue from 'vue';
export function isVNode(node) {
if (!node || typeof node !== 'object') return false;
return Vue.util.hasOwn(node, 'tag') && Vue.util.hasOwn(node, 'componentOptions');
return typeof node === 'object' && Vue.util.hasOwn(node, 'componentOptions');
};
export function getFirstComponentChild(children) {
return children && children.filter(c => c && c.tag)[0];
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment