08335 / hivui-platform-template
hivui平台项目模板
Newer
Older
hivui-platform-template / project / hivuiMain / views / layout / components / Smenus / menuItem.jsx
caibinghong on 4 Jun 2021 add

const MenuItem = {
    props: {
        icon:{
            type:String
        },
        level:{
            type:Number,
            default:0
        },
        mode:{
            type:String
        },
        hasTitle:{
            type: Boolean,
        }
    },
    methods:{
        handleClick(evt){
            this.$emit('click',evt);
        }
    },
    render(h) {
        const {...props} = this.$props;
        const icon = props.icon? `icon iconfont ${props.icon} `:'';
        const hasTitle = props.hasTitle
        const level = props.level
        const itemProps={
            props:{
                level:level
            },
            attrs:{
                title:this.$slots.default[0].text
            },
            on:{
                click:this.handleClick
            }
        }
        return (
            <li class="pl-Smenus-item" {...itemProps} >
                <a class="title" >
                    {icon!=''&&(<i class={icon}></i>)}
                    <span v-show={hasTitle || (!hasTitle && level > 0)} class="txt">{this.$slots.default}</span>
                </a>
            </li>
        )
    }
}
export default MenuItem;