epic-designer-gold
Version:
基于vue3的设计器,可视化开发页面表单
2 lines (1 loc) • 1.07 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("vue"),h=require("element-plus"),S=c.defineComponent({props:{componentSchema:{type:Object,require:!0,default:()=>({})},modelValue:{type:Array,default:()=>[]}},setup(n,{slots:m}){return()=>{var d;const l={...n.componentSchema,title:((d=n.componentSchema)==null?void 0:d.label)??"",border:!0},p=l.children.map(a=>{var r,e,t,o;return a.isDesign=(e=(r=n.componentSchema)==null?void 0:r.componentProps)==null?void 0:e.isDesign,a.align=(o=(t=n.componentSchema)==null?void 0:t.componentProps)==null?void 0:o.align,a});delete l.children,l.data=n.modelValue&&n.modelValue.length?n.modelValue:[{id:"1"}];function s({row:a,column:r,rowIndex:e}){const t=l.data,o=r.property;if(e===0||t[e][o]!==t[e-1][o]){let i=1;for(let u=e+1;u<t.length&&t[u][o]===t[e][o];u++)i++;return[i,1]}return[0,0]}return c.h(h.ElTable,{...l,"span-method":l.componentProps.isMerge?s:null},{default:()=>[c.renderSlot(m,"edit-node",{},()=>p.map(a=>c.renderSlot(m,"node",{componentSchema:a})))]})}}});exports.default=S;