fix: menu error
							parent
							
								
									ba90214573
								
							
						
					
					
						commit
						0a7065ce89
					
				| 
						 | 
				
			
			@ -1,11 +1,17 @@
 | 
			
		|||
import PropTypes from '../_util/vue-types';
 | 
			
		||||
import { getComponent, getSlot } from '../_util/props-util';
 | 
			
		||||
import { menuAllProps } from './util';
 | 
			
		||||
import { defineComponent } from 'vue';
 | 
			
		||||
 | 
			
		||||
import { defineComponent, inject } from 'vue';
 | 
			
		||||
import classNames from '../_util/classNames';
 | 
			
		||||
const injectExtraPropsKey = 'ANT_MENU_PROVIDER_PROPS_KEY';
 | 
			
		||||
const MenuItemGroup = {
 | 
			
		||||
  name: 'MenuItemGroup',
 | 
			
		||||
  inheritAttrs: false,
 | 
			
		||||
  setup() {
 | 
			
		||||
    return {
 | 
			
		||||
      injectExtraProps: inject(injectExtraPropsKey, () => ({})),
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  props: {
 | 
			
		||||
    renderMenuItem: PropTypes.func,
 | 
			
		||||
    index: PropTypes.number,
 | 
			
		||||
| 
						 | 
				
			
			@ -18,12 +24,12 @@ const MenuItemGroup = {
 | 
			
		|||
  isMenuItemGroup: true,
 | 
			
		||||
  methods: {
 | 
			
		||||
    renderInnerMenuItem(item) {
 | 
			
		||||
      const { renderMenuItem, index, subMenuKey } = this.$props;
 | 
			
		||||
      const { renderMenuItem, index, subMenuKey } = { ...this.$props, ...this.injectExtraProps };
 | 
			
		||||
      return renderMenuItem(item, index, subMenuKey);
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  render() {
 | 
			
		||||
    const props = { ...this.$props, ...this.$attrs };
 | 
			
		||||
    const props = { ...this.$props, ...this.injectExtraProps, ...this.$attrs };
 | 
			
		||||
    const { class: cls = '', rootPrefixCls, title } = props;
 | 
			
		||||
    const titleClassName = `${rootPrefixCls}-item-group-title`;
 | 
			
		||||
    const listClassName = `${rootPrefixCls}-item-group-list`;
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +38,7 @@ const MenuItemGroup = {
 | 
			
		|||
    delete props.onClick;
 | 
			
		||||
    const children = getSlot(this);
 | 
			
		||||
    return (
 | 
			
		||||
      <li {...props} class={`${cls} ${rootPrefixCls}-item-group`}>
 | 
			
		||||
      <li {...props} class={classNames(cls, `${rootPrefixCls}-item-group`)}>
 | 
			
		||||
        <div class={titleClassName} title={typeof title === 'string' ? title : undefined}>
 | 
			
		||||
          {getComponent(this, 'title')}
 | 
			
		||||
        </div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue