UNPKG

ant-design-vue

Version:

An enterprise-class UI design language and Vue-based implementation

52 lines (50 loc) 1.34 kB
import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props'; import { Item, itemProps } from '../vc-menu'; import { getClass, getStyle, getOptionProps } from '../_util/props-util'; import { cloneVNodes } from '../_util/vnode'; import Tooltip from '../tooltip'; function noop() {} export default { props: itemProps, name: 'MenuItem', inject: { getInlineCollapsed: { 'default': function _default() { return noop; } } }, isMenuItem: 1, methods: { onKeyDown: function onKeyDown(e) { this.$refs.menuItem.onKeyDown(e); } }, render: function render(h) { var props = getOptionProps(this); var getInlineCollapsed = this.getInlineCollapsed, $slots = this.$slots, attrs = this.$attrs, $listeners = this.$listeners; var inlineCollapsed = getInlineCollapsed(); var itemProps = { props: props, attrs: attrs, on: $listeners }; var toolTipProps = { props: { title: inlineCollapsed && props.level === 1 ? $slots['default'] : '', placement: 'right', overlayClassName: props.rootPrefixCls + '-inline-collapsed-tooltip' } }; return h( Tooltip, toolTipProps, [h( Item, _mergeJSXProps([itemProps, { ref: 'menuItem' }]), [$slots['default']] )] ); } };