From 4d206886c5df03c3a8711ea2d9efda50e3ea7566 Mon Sep 17 00:00:00 2001 From: tangjinzhou <415800467@qq.com> Date: Tue, 6 Nov 2018 11:59:01 +0800 Subject: [PATCH] feat: update vc-menu --- components/vc-menu/DOMWrap.jsx | 2 +- components/vc-menu/Menu.jsx | 4 ++-- components/vc-menu/SubMenu.jsx | 4 ++-- components/vc-menu/SubPopupMenu.jsx | 7 +++++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/components/vc-menu/DOMWrap.jsx b/components/vc-menu/DOMWrap.jsx index 647f4fb1e..2adbf74e5 100644 --- a/components/vc-menu/DOMWrap.jsx +++ b/components/vc-menu/DOMWrap.jsx @@ -286,7 +286,7 @@ const DOMWrap = { const tagProps = { on: this.$listeners, } - return {this.renderChildren(filterEmpty(this.$slots.default))} + return {this.renderChildren(this.$slots.default)} }, } diff --git a/components/vc-menu/Menu.jsx b/components/vc-menu/Menu.jsx index 742e3a1bb..f64e47ae9 100644 --- a/components/vc-menu/Menu.jsx +++ b/components/vc-menu/Menu.jsx @@ -2,7 +2,7 @@ import PropTypes from '../_util/vue-types' import { Provider, create } from '../_util/store' import { default as SubPopupMenu, getActiveKey } from './SubPopupMenu' import BaseMixin from '../_util/BaseMixin' -import hasProp, { getOptionProps, getComponentFromProp } from '../_util/props-util' +import hasProp, { getOptionProps, getComponentFromProp, filterEmpty } from '../_util/props-util' import commonPropsType from './commonPropsType' const Menu = { @@ -161,7 +161,7 @@ const Menu = { overflowedIndicator: getComponentFromProp(this, 'overflowedIndicator', props), openTransitionName: this.getOpenTransitionName(), parentMenu: this, - children: this.$slots.default || [], + children: filterEmpty(this.$slots.default || []), }, class: `${props.prefixCls}-root`, on: { diff --git a/components/vc-menu/SubMenu.jsx b/components/vc-menu/SubMenu.jsx index ffc3b372a..acfd8c18c 100644 --- a/components/vc-menu/SubMenu.jsx +++ b/components/vc-menu/SubMenu.jsx @@ -6,7 +6,7 @@ import { connect } from '../_util/store' import SubPopupMenu from './SubPopupMenu' import placements from './placements' import BaseMixin from '../_util/BaseMixin' -import { getComponentFromProp } from '../_util/props-util' +import { getComponentFromProp, filterEmpty } from '../_util/props-util' import { requestAnimationTimeout, cancelAnimationTimeout } from '../_util/requestAnimationTimeout' import { noop, @@ -491,7 +491,7 @@ const SubMenu = { {icon || } ) - const children = this.renderChildren(this.$slots.default) + const children = this.renderChildren(filterEmpty(this.$slots.default)) const getPopupContainer = this.parentMenu.isRootMenu ? this.parentMenu.getPopupContainer : triggerNode => triggerNode.parentNode diff --git a/components/vc-menu/SubPopupMenu.jsx b/components/vc-menu/SubPopupMenu.jsx index eb1a04d9d..52d4e28be 100644 --- a/components/vc-menu/SubPopupMenu.jsx +++ b/components/vc-menu/SubPopupMenu.jsx @@ -336,7 +336,7 @@ const SubPopupMenu = { }, render () { const { ...props } = this.$props - const { eventKey, visible, level, mode, theme } = props + const { eventKey, prefixCls, visible, level, mode, theme } = props this.instanceArray = [] this.instanceArrayKeyIndexMap = {} const className = classNames( @@ -348,7 +348,10 @@ const SubPopupMenu = { tag: 'ul', // hiddenClassName: `${prefixCls}-hidden`, visible, - level, mode, theme, + prefixCls, + level, + mode, + theme, overflowedIndicator: getComponentFromProp(this, 'overflowedIndicator'), }, attrs: {