form-designer-xinyi
Version:
基于vue3的设计器,可视化开发页面表单
2 lines (1 loc) • 1.2 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),a=require("ant-design-vue"),h=l.defineComponent({props:{modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue","change"],setup(s,{emit:u,attrs:i}){const t=l.ref([]);l.watch(t,e=>{u("update:modelValue",e),u("change",e)}),l.watch(()=>s.modelValue,e=>{if(e!=null&&e.length>0&&t.value!=null){if(t.value===e)return;t.value.length=0,t.value.push(...e)}},{deep:!0,immediate:!0});function d(e){l.nextTick(()=>{t.value=e})}const p=e=>{var r,n;if(e.file.status!=="uploading"){if(e.file.status==="done"){const o=(n=(r=e.file.response)==null?void 0:r.data)==null?void 0:n.url;if(!e.file.url&&!o){e.file.status="error",a.message.error("上传失败");return}e.file.url=o}e.file.status==="error"&&a.message.error("upload error")}},f=e=>{},c=l.computed(()=>({...i,"onUpdate:file-list":d,"file-list":t.value,"onBefore-upload":f,onChange:p}));return()=>l.h("div",null,{default:()=>[l.h(a.Upload,c.value,{default:()=>[l.h(a.Button,{},{default:()=>[l.h("span",{class:"iconfont epic-icon-shangchuan1",style:{"margin-right":"2px"}}),l.h("span",null,{default:()=>"上传文件"})]})]})]})}});exports.default=h;