vue-vben-admin/assets/Dropdown.16737c14.js

2 lines
1.5 KiB
JavaScript

import{d as e,aO as n,c as t,j as a,r as s,o as r,f as i,m as o,p as d,g as l,F as u,aP as c,s as m,t as p,aZ as f}from"./index.8a947221.js";import{D as y,a as v,M as g}from"./index.d94421bb.js";/* empty css */y.Button=v,y.install=function(e){return e.component(y.name,y),e.component(v.name,v),e};var k=e({name:"BasicDropdown",components:{[y.name]:y,[g.name]:g,[g.Item.name]:g.Item,[g.Divider.name]:g.Divider,Icon:n},props:{trigger:{type:[Array],default:()=>["contextmenu"]},dropMenuList:{type:Array,default:()=>[]},selectedKeys:{type:Array,default:()=>[]}},emits:["menuEvent"],setup(e,{emit:n}){const s=t((()=>e.dropMenuList));return{handleClickMenu:function(e){var t;const{event:r}=e,i=a(s).find((e=>`${e.event}`==`${r}`));n("menuEvent",i),null==(t=e.onClick)||t.call(e)},getMenuList:s,getAttr:e=>({key:e})}}});const M={class:"ml-1"};k.render=function(e,n,t,a,y,v){const g=s("Icon"),k=s("a-menu-item"),b=s("a-menu-divider"),x=s("a-menu"),$=s("a-dropdown");return r(),i($,o({trigger:e.trigger},e.$attrs),{overlay:d((()=>[l(x,{selectedKeys:e.selectedKeys},{default:d((()=>[(r(!0),i(u,null,c(e.getMenuList,(n=>(r(),i(u,{key:`${n.event}`},[l(k,o(e.getAttr(n.event),{onClick:t=>e.handleClickMenu(n),disabled:n.disabled}),{default:d((()=>[n.icon?(r(),i(g,{key:0,icon:n.icon},null,8,["icon"])):m("",!0),l("span",M,p(n.text),1)])),_:2},1040,["onClick","disabled"]),n.divider?(r(),i(b,{key:`d-${n.event}`})):m("",!0)],64)))),128))])),_:1},8,["selectedKeys"])])),default:d((()=>[l("span",null,[f(e.$slots,"default")])])),_:3},16,["trigger"])};export{k as _};