ant-design-vue/components/menu/MenuItem.vue
tangjinzhou 1b8ecf5656 fix
2018-01-16 15:41:00 +08:00

41 lines
931 B
Vue

<script>
import { Item, itemProps } from './src/index'
import { getClass, getStyle } from '../_util/vnode'
import Tooltip from '../tooltip'
export default {
props: itemProps,
inject: {
inlineCollapsed: { default: false },
},
isMenuItem: 1,
methods: {
onKeyDown (e) {
this.$refs.menuItem.onKeyDown(e)
},
},
render () {
const { inlineCollapsed, $props: props, $slots, $attrs: attrs, $listeners } = this
const itemProps = {
props,
attrs,
on: $listeners,
class: getClass(this),
style: getStyle(this),
}
return <Tooltip
placement='right'
overlayClassName={`${props.rootPrefixCls}-inline-collapsed-tooltip`}
>
<template slot='title'>
{inlineCollapsed && props.level === 1 ? $slots.default : ''}
</template>
<Item {...itemProps} ref='menuItem'>
{$slots.default}
</Item>
</Tooltip>
},
}
</script>