ai-form-designer
Version:
vue3+adv的设计器,可视化开发页面表单
2 lines (1 loc) • 1.66 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),D=require("./index-B3WUW01-.cjs"),k={key:0,class:"form-main",style:{height:"100%"}},b=e.defineComponent({__name:"form",props:{componentSchema:{type:Object,require:!0,default:()=>({})}},setup(d,{expose:f}){var u,i;const n=d,v=e.inject("pageManager",{}),o=e.ref(null),m=e.inject("forms",{}),h=e.ref(!0),r=e.reactive({});e.provide("formData",r),v.addFormData(r,(i=(u=n.componentSchema)==null?void 0:u.componentProps)==null?void 0:i.name);function s(){return r}function l(t){Object.assign(r,t)}function g(){var t;return(t=o.value)==null?void 0:t.validate()}function S(){var t;return(t=o.value)==null?void 0:t.restoreValidation()}e.onMounted(async()=>{var t,c,a,p;if(((t=n.componentSchema)==null?void 0:t.type)==="form"&&m.value&&o.value){const _=((a=(c=n.componentSchema)==null?void 0:c.componentProps)==null?void 0:a.name)??((p=n.componentSchema)==null?void 0:p.name)??"default";m.value[_]=o.value,o.value.getData=s,o.value.setData=l}});const y=e.computed(()=>n.componentSchema.componentProps),P=e.computed(()=>n.componentSchema.children??[]);return f({form:o,getData:s,setData:l,validate:g,clearValidate:S}),(t,c)=>h.value?(e.openBlock(),e.createElementBlock("div",k,[e.createVNode(e.unref(D.form.NForm),e.mergeProps({ref_key:"form",ref:o,model:r},y.value,{style:{height:"100%"}}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"edit-node",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,a=>e.renderSlot(t.$slots,"node",{componentSchema:a})),256))])]),_:3},16,["model"])])):e.createCommentVNode("",!0)}});exports.default=b;