vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
2 lines (1 loc) • 2.25 kB
JavaScript
;const e=require("vue"),p=require("../../CollapseTransition/src/index.vue.cjs"),u=require("@vuux/icons"),f=require("./hook/useItemMenu.cjs"),h=["onMouseenter","onMouseleave","onClick"],B={class:"menu-title"},C={class:"name"},c=e.defineComponent({name:"MenuItem",__name:"item",props:{data:{},itemUl:{},level:{default:0}},emits:["change","select"],setup(o,{emit:i}){const r=o,d=i,{menuContext:l,onMouseenter:k,onMouseleave:m,handleClick:v,onSelect:s,onChange:a}=f.useItemMenu(r,d);return(y,g)=>e.withDirectives((e.openBlock(),e.createElementBlock("ul",{class:e.normalizeClass(["level-"+o.level,{"is-child":o.itemUl}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.data,n=>(e.openBlock(),e.createElementBlock("li",{key:n[e.unref(l)?.props.skey],class:e.normalizeClass({"is-disabled":n.disabled,"is-down":e.unref(l)?.openKeys.value.includes(n[e.unref(l)?.props.skey]),"is-selected":n[e.unref(l)?.props.skey]===e.unref(l)?.selectKeys.value}),onMouseenter:t=>e.unref(k)(n),onMouseleave:t=>e.unref(m)(n),onClick:t=>e.unref(v)(n,t)},[e.createElementVNode("div",B,[e.createElementVNode("div",C,[n.icon?(e.openBlock(),e.createBlock(e.unref(u.Icon),{key:0,name:n.icon,size:15},null,8,["name"])):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(n[e.unref(l)?.props.label]),1)]),n.children?(e.openBlock(),e.createBlock(e.unref(u.Icon),{key:0,name:"Icon1336922",size:14})):e.createCommentVNode("",!0)]),e.unref(l)?.props.mode==="vertical"?(e.openBlock(),e.createBlock(p,{key:0},{default:e.withCtx(()=>[n.children?(e.openBlock(),e.createBlock(c,{key:0,data:n.children,"item-ul":n,level:o.level+1,onChange:e.unref(a),onSelect:e.unref(s)},null,8,["data","item-ul","level","onChange","onSelect"])):e.createCommentVNode("",!0)]),_:2},1024)):(e.openBlock(),e.createBlock(e.Transition,{key:1,name:"ease-drop"},{default:e.withCtx(()=>[n.children?(e.openBlock(),e.createBlock(c,{key:0,data:n.children,"item-ul":n,level:o.level+1,onChange:e.unref(a),onSelect:e.unref(s)},null,8,["data","item-ul","level","onChange","onSelect"])):e.createCommentVNode("",!0)]),_:2},1024))],42,h))),128))],2)),[[e.vShow,!o.itemUl||e.unref(l)?.openKeys.value.includes(o.itemUl[e.unref(l)?.props.skey])]])}});module.exports=c;