@wetspace/pro-components
Version:
::: tip 基本介绍
2 lines (1 loc) • 3.61 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("element-plus"),z=require("./types.js"),I=require("./symbol.js"),x=require("./base/item.vue.js"),m=require("../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/cloneDeep.js"),g=require("../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/get.js"),V=require("../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/set.js"),j=require("../../node_modules/.pnpm/@vueuse_shared@10.11.1_vue@3.5.12_typescript@5.4.2_/node_modules/@vueuse/shared/index.js"),M=e.defineComponent({name:"ProForm",__name:"index",props:z.wetProFormProps,emits:["change","update:modelValue"],setup(_,{expose:w,emit:k}){const o=r.useNamespace("pro-form"),y=k,n=e.shallowRef(),s=_,F=e.computed(()=>({span:s.span,...s.colProps})),a=e.ref({}),i=e.ref({}),P=t=>{const l=t.join(".");i.value[l]=t},u=t=>{const l=s.valueEmptyModel==="filter"?void 0:null;if(t){const c=(Array.isArray(t),t);return g.default(a.value,c,l)}else{const c={};return Object.values(i.value).forEach(C=>{const N=g.default(a.value,C,l);V.default(c,C,N)}),c}},f=(t,l)=>{V.default(a.value,t,l)},E=t=>{y("change",t,u())},S=t=>{var l;(l=n.value)==null||l.validateField(t)},v=t=>{var l;(l=n.value)==null||l.clearValidate(t)},q=t=>{var l;(l=n.value)==null||l.scrollToField(t)},p=async()=>{var t;return await((t=n.value)==null?void 0:t.validate()),u()},B=t=>{a.value=m.default(t)},b=j.useDebounceFn(()=>{v()},50),d=(t=!1)=>(t?a.value={}:a.value=m.default(s.initialValues||{}),b(),u());e.watch(()=>s.initialValues,t=>{t?a.value=m.default(t):a.value={},s.notInitClearValidate||b()},{immediate:!0,deep:!0});const $=e.computed(()=>s.labelWidth||"100px");e.provide(I.SymbolState,{registerFiledsPaths:i,formState:a,setFormStateValue:P,registerChangeEmit:E,globalColProps:F,labelWidth:$,clearable:e.computed(()=>s.clearable),setFieldsValue:f,getFieldsValue:u,labelPosition:e.computed(()=>s.labelPosition)});const h=()=>d(!0);return w({submit:p,reset:d,clear:h,validateField:S,clearValidate:v,getFieldsValue:u,setFieldsValue:f,scrollToField:q,setValue:B}),(t,l)=>s.isFormItem?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([e.unref(o).b()])},[e.createVNode(e.unref(r.ElRow),{gutter:s.gutter,class:e.normalizeClass([e.unref(o).e("row")])},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default"),t.$slots.actions?(e.openBlock(),e.createBlock(e.unref(r.ElCol),{key:0,class:e.normalizeClass([e.unref(o).e("actions")])},{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElFormItem),null,{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([e.unref(o).e("actions-slot")])},[e.renderSlot(t.$slots,"actions")],2)]),_:3})]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3},8,["gutter","class"])],2)):(e.openBlock(),e.createBlock(e.unref(r.ElForm),e.mergeProps({key:1,ref_key:"formIns",ref:n,class:[e.unref(o).b()],model:a.value,"scroll-to-error":"","scroll-into-view-options":{behavior:"smooth",block:"center"},disabled:s.disabled},t.$attrs),{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElRow),{gutter:s.gutter,class:e.normalizeClass([e.unref(o).e("row")])},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default"),t.$slots.actions?(e.openBlock(),e.createBlock(x.default,{key:0,"is-action":"",class:e.normalizeClass([e.unref(o).e("actions")])},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"actions",{submit:p,reset:d,clear:h})]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3},8,["gutter","class"])]),_:3},16,["class","model","disabled"]))}});exports.default=M;