From 2c164770b6ac4cc9c8a9741042ac694e31cffc54 Mon Sep 17 00:00:00 2001 From: tangjinzhou <415800467@qq.com> Date: Tue, 9 Jan 2018 14:21:15 +0800 Subject: [PATCH] add keydown --- components/_util/cloneElement.js | 8 ---- components/_util/vnode.js | 7 ++++ components/menu/demo/antd.vue | 12 +++--- components/menu/src/DOMWrap.vue | 1 + components/menu/src/Menu.vue | 2 +- components/menu/src/MenuItem.vue | 1 + components/menu/src/MenuMixin.js | 65 +++++++------------------------- components/menu/src/SubMenu.vue | 3 +- components/trigger/index.vue | 1 - package.json | 4 +- 10 files changed, 33 insertions(+), 71 deletions(-) delete mode 100644 components/_util/cloneElement.js diff --git a/components/_util/cloneElement.js b/components/_util/cloneElement.js deleted file mode 100644 index ec8b55c1f..000000000 --- a/components/_util/cloneElement.js +++ /dev/null @@ -1,8 +0,0 @@ -export default (node, nodeProps) => { - const { props, style, class: cls, attrs, key } = nodeProps - if (node.componentOptions) { - const propsData = node.componentOptions.propsData - Object.assign(propsData, nodeProps) - } - return node -} diff --git a/components/_util/vnode.js b/components/_util/vnode.js index e3225d29a..8068ea46f 100644 --- a/components/_util/vnode.js +++ b/components/_util/vnode.js @@ -78,11 +78,18 @@ export function cloneElement (n, nodeProps, clone) { const { style = data.style, class: cls = data.class, attrs = data.attrs, + ref, } = nodeProps node.data = Object.assign(data, { style, attrs, class: cls, on: { ...(data.on || {}), ...on }}) if (key !== undefined) { node.key = key node.data.key = key } + if (typeof ref === 'string') { + node.data.ref = ref + } return node } +export function getComponentName (opts) { + return opts && (opts.Ctor.options.name || opts.tag) +} diff --git a/components/menu/demo/antd.vue b/components/menu/demo/antd.vue index 841b2cfe4..e1083b02e 100644 --- a/components/menu/demo/antd.vue +++ b/components/menu/demo/antd.vue @@ -1,8 +1,6 @@