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;