@wetspace/pro-components
Version:
::: tip 基本介绍
2 lines (1 loc) • 1.96 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),s=require("element-plus"),C=require("./index.vue.js"),_=require("./types.js"),y={class:"footer-slot__inner"},V=e.defineComponent({__name:"modal-form",props:_.wetModalFormProps,setup(i){const l=i,n=e.shallowRef(!1),c=e.shallowRef(),u=e.useSlots(),a=s.useNamespace("modal-form"),d=e.computed(()=>{const t=u.trigger&&u.trigger({});return()=>t==null?void 0:t.map(o=>e.cloneVNode(o,{onClick:()=>{n.value=!0}}))}),m=async()=>{const t=await l.onCancel();n.value=!t},f=async()=>{var t;if(l.onFinish){const o=await((t=c.value)==null?void 0:t.submit()),r=await l.onFinish(o);n.value=!r}},p=async()=>{const t=await l.onCancel();n.value=!t};return(t,o)=>{var r;return e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value))),e.createVNode(e.unref(s.ElDialog),e.mergeProps(l.modalProps,{modelValue:n.value,"onUpdate:modelValue":o[0]||(o[0]=v=>n.value=v),"before-close":p,"destroy-on-close":l.destroyOnClose,title:l.title||((r=l.modalProps)==null?void 0:r.title),class:[e.unref(a).b()]}),{footer:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([e.unref(a).e("footer")])},[e.createElementVNode("div",y,[e.renderSlot(t.$slots,"footer")]),e.createElementVNode("div",null,[e.createVNode(e.unref(s.ElButton),{onClick:m},{default:e.withCtx(()=>o[1]||(o[1]=[e.createTextVNode(" 取消 ")])),_:1}),e.createVNode(e.unref(s.ElButton),{type:"primary",onClick:f},{default:e.withCtx(()=>o[2]||(o[2]=[e.createTextVNode(" 确认 ")])),_:1})])],2)]),default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([e.unref(a).e("body")])},[e.createVNode(C.default,e.mergeProps({ref_key:"formInstance",ref:c},l),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)],2)]),_:3},16,["modelValue","destroy-on-close","title","class"])],64)}}});exports.default=V;