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: {