quick-admin-vue3-core
Version:
以快(计算机执行效率、开发效率)为核心的后台管理系统开发模板
2 lines (1 loc) • 1.76 kB
JavaScript
"use strict";const e=require("vue"),B=require("./platform-Dl0zaSyI.cjs"),i=require("./index-BC11nvhb.cjs"),C=require("./next-callback-IAKgrxDt.cjs"),y=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),x=e.defineComponent({__name:"IconBtns",props:{tpl:{default:"add"},gap:{default:"0"},stop:{type:Boolean},iconSize:{default:"1.8em"}},emits:["click"],setup(l,{emit:a}){const{closePopup:m}=i.usePopup(),u=l,f=a,k=e.computed(()=>{const{tpl:o}=u,t=B.typeOf(o);if(t==="String")return[i.iconBtnsMap[o]];if(t==="Array")return o.map(c=>i.iconBtnsMap[c]);throw new Error(`暂未处理此类型:${t}`)});function s(o,t){const{name:c,text:r}=o;f("click",c,o,C.useNextCallback(r,m),t)}return(o,t)=>{const c=e.resolveComponent("BaseIcon"),r=e.resolveComponent("el-button"),_=e.resolveComponent("el-popconfirm");return e.openBlock(),e.createElementBlock("div",{class:"icon-btns f-0",onClick:t[0]||(t[0]=n=>o.stop&&n.stopPropagation())},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(n,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d},[n.popconfirm?(e.openBlock(),e.createBlock(_,e.mergeProps({key:0,ref_for:!0},e.unref(i.getPopconfirmAttrs)(n.popconfirm,{text:n.text,attrs:{type:n.type}}),{onConfirm:p=>s(n)}),{reference:e.withCtx(()=>[e.createVNode(r,{link:"",type:n.type,circle:""},{icon:e.withCtx(()=>[e.createVNode(c,{name:n.icon,size:o.iconSize},null,8,["name","size"])]),_:2},1032,["type"])]),_:2},1040,["onConfirm"])):(e.openBlock(),e.createBlock(r,{key:1,link:"",type:n.type,circle:"",onClick:p=>s(n,p)},{icon:e.withCtx(()=>[e.createVNode(c,{name:n.icon,size:o.iconSize},null,8,["name","size"])]),_:2},1032,["type","onClick"]))],64))),128))])}}}),g=y._export_sfc(x,[["__scopeId","data-v-ad511e6d"]]);exports.IconBtns=g;