UNPKG

ai-form-designer

Version:

vue3+adv的设计器,可视化开发页面表单

79 lines (78 loc) 2.04 kB
import { defineComponent as g, ref as h, watch as n, computed as v, h as t, nextTick as x } from "vue"; import { Upload as U, Button as V, message as s } from "ant-design-vue"; const B = g({ props: { modelValue: { type: Array, default: () => [] } }, emits: ["update:modelValue", "change"], setup(d, { emit: a, attrs: i }) { const l = h([]); n(l, (e) => { a("update:modelValue", e), a("change", e); }), n( () => d.modelValue, (e) => { if (e != null && e.length > 0 && l.value != null) { if (l.value === e) return; l.value.length = 0, l.value.push(...e); } }, { deep: !0, immediate: !0 } ); function p(e) { x(() => { l.value = e; }); } const f = (e) => { var u, r; if (e.file.status !== "uploading") { if (e.file.status === "done") { const o = (r = (u = e.file.response) == null ? void 0 : u.data) == null ? void 0 : r.url; if (!e.file.url && !o) { e.file.status = "error", s.error("上传失败"); return; } e.file.url = o; } e.file.status === "error" && s.error("upload error"); } }, c = (e) => { }, m = v(() => ({ ...i, "onUpdate:file-list": p, "file-list": l.value, "onBefore-upload": c, onChange: f })); return () => t("div", null, { default: () => [ t(U, m.value, { default: () => [ t( V, { class: "flex items-center" }, { default: () => [ t("span", { class: "icon--epic icon--epic--cloud-upload-outlined text-lg", style: { "margin-right": "2px" } }), t("span", null, { default: () => "上传文件" }) ] } ) ] }) ] }); } }); export { B as default };