import{j as F,R as C}from"./hooks-BhBdy6bT.js";import"./currency.js@2.0.4-9OAR_aOO.js";import"./crypto-js@4.2.0-BC7ZohPc.js";import"./dayjs@1.11.13-Dcmsq1le.js";import"./print-js@1.6.0-DO6wNZql.js";import{a as N}from"./vue-hooks-plus@2.4.0_vue@3.5.17_typescript@5.8.3_-CKxlTIyb.js";import"./js-cookie@3.0.5-Z_8Sd105.js";import"./screenfull@5.2.0-CSmfy_M5.js";import"./jsbarcode@3.11.6-_Q8BloHp.js";import"./@logicflow_core@2.0.10-9WfPQnfd.js";import"./mobx-preact@3.0.0_mobx@5.15.7_preact@10.25.4-SwmSNyX5.js";import"./preact@10.25.4-CrjB-ZC0.js";import"./instance-Cl7Tswmu.js";import{N as k,a as R,al as u,M as d,K as b,am as y,aj as B,ak as f,e as g,P as i,O as E,J as w}from"./naive-ui@2.42.0_vue@3.5.17_typescript@5.8.3_-D0s2Qcv6.js";import{m as x,d as e,J as a}from"./@vue_runtime-core@3.5.17-YYjRSOhw.js";import{k as D}from"./@vue_reactivity@3.5.17-Cach6sCz.js";import"./lodash-es@4.17.21-UVJw7vmf.js";import"./@vueuse_core@13.1.0_vue@3.5.17_typescript@5.8.3_-CqLBWAJs.js";import"./@vueuse_shared@13.1.0_vue@3.5.17_typescript@5.8.3_-P3fPQPUc.js";import"./utils-CNs7QJPM.js";import"./pinia-plugin-persistedstate@4.4.1_@nuxt_kit@3.15.0_rollup@4.40.0__pinia@3.0.3_typescript@5.8._3ejnhdjnhggf554dgd2wlld2fm-Nz2jvMPc.js";import"./destr@2.0.5-BPvN1X9m.js";import"./deep-pick-omit@1.2.1-CegYQlcN.js";import"./pinia@3.0.3_typescript@5.8.3_vue@3.5.17_typescript@5.8.3_-Q43Hpri0.js";import"./html-to-image@1.11.13-C6a6vdc2.js";import"./vue-router@4.5.1_vue@3.5.17_typescript@5.8.3_-DJCF340X.js";import"./@vue_runtime-dom@3.5.17-CRd3gAQJ.js";import"./@vue_shared@3.5.17-BLogKQf1.js";import"./interactjs@1.10.27-BJB5VkCx.js";import"./classnames@2.5.1-Dfc4g_b4.js";import"./vue-i18n@9.13.1_vue@3.5.17_typescript@5.8.3_-CcunoX8a.js";import"./@intlify_shared@9.13.1-CM6R_CZ5.js";import"./@intlify_core-base@9.13.1-BNWv53cz.js";import"./@intlify_message-compiler@9.13.1-4K4Nd_mc.js";import"./echarts@5.6.0-BRu9FGIM.js";import"./zrender@5.6.1-MHdZqf99.js";import"./tslib@2.3.0-BDyQ-Jie.js";import"./mobx@5.15.7-DLDjekon.js";import"./uuid@9.0.1-CtRu48qb.js";import"./mousetrap@1.6.5-OHXNXF9n.js";import"./mobx-utils@5.6.2_mobx@5.15.7-CmgHUCcI.js";import"./axios@1.9.0-xsH4HHeE.js";import"./date-fns@3.6.0-BMcLdxE-.js";import"./seemly@0.3.9-DfXeAbNj.js";import"./vueuc@0.4.64_vue@3.5.17_typescript@5.8.3_-Cy8D_ht_.js";import"./evtd@0.2.4-CI_DDEu_.js";import"./@css-render_vue3-ssr@0.15.14_vue@3.5.17_typescript@5.8.3_-OHQSPFRS.js";import"./vooks@0.2.12_vue@3.5.17_typescript@5.8.3_-DzrYU6h1.js";import"./vdirs@0.1.8_vue@3.5.17_typescript@5.8.3_-BAjskub0.js";import"./@juggle_resize-observer@3.4.0-C8OzoCMD.js";import"./css-render@0.15.14-C5toWlUr.js";import"./@emotion_hash@0.8.0-WldOFDRm.js";import"./treemate@0.3.11-DKekKYbv.js";import"./date-fns-tz@3.2.0_date-fns@3.6.0-7cEoHFIO.js";import"./async-validator@4.2.5-9PlIezaS.js";import"./@css-render_plugin-bem@0.15.14_css-render@0.15.14-Be8eOoM-.js";const Ue=x({name:"RFormDemo",setup(){const[r,{validate:o,restoreValidation:m,formRules:l,reset:n,validateTargetField:p,formConditionRef:s}]=F({name:null,age:null,gender:null,date:null,remark:null},{name:{required:!0,message:"请输入姓名",trigger:["blur","change"],key:"name"},date:{required:!0,message:"请选择日期",trigger:["blur","change"],type:"number"},gender:{required:!0,message:"请选择性别",trigger:"change"},age:{required:!0,message:"请输入年龄",trigger:["blur","change"],type:"number"}}),t=D(!1),{run:c}=N(()=>new Promise((h,v)=>{o().then(()=>{t.value=!0,setTimeout(()=>{window.$message.success("校验成功"),h(!0)},500)}).catch(v).finally(()=>{t.value=!1})}),{manual:!0});return{register:r,formConditionRef:s,restoreValidation:m,validate:o,formRules:l,validateTargetField:p,reset:n,formLoading:t,runHookPlusRequest:c}},render(){const{formConditionRef:r}=this,{register:o,restoreValidation:m,formRules:l,validateTargetField:n,reset:p,runHookPlusRequest:s}=this;return e(k,{title:()=>e(g,{align:"center"},{default:()=>[e(E,null,{default:()=>[a("useForm 表单校验")]}),e(w,{value:this.formLoading,"onUpdate:value":t=>this.formLoading=t},null)]})},{default:()=>e(C,{onRegister:o,rules:l(),model:r,submitWhenEnter:!0,onFinish:()=>{window.$message.success("表单提交成功")},loading:this.formLoading},{default:()=>[e(R,{cols:24,xGap:24},{default:()=>[e(u,{label:"姓名",path:"name",span:12},{default:()=>[e(d,{value:r.name,"onUpdate:value":t=>r.name=t},null)]}),e(u,{label:"年龄",path:"age",span:12},{default:()=>[e(b,{value:r.age,"onUpdate:value":t=>r.age=t,showButton:!1},null)]}),e(u,{label:"出生日期",path:"date",span:12},{default:()=>[e(y,{value:r.date,"onUpdate:value":t=>r.date=t},null)]}),e(u,{label:"性别",path:"gender",span:12},{default:()=>[e(B,{value:r.gender,"onUpdate:value":t=>r.gender=t},{default:()=>[e(f,{value:"girl"},{default:()=>[a("女")]}),e(f,{value:"man"},{default:()=>[a("男")]})]})]}),e(u,{label:"备注信息",span:24},{default:()=>[e(d,{type:"textarea",value:r.remark,"onUpdate:value":t=>r.remark=t},null)]}),e(u,{span:24},{default:()=>[e(g,null,{default:()=>[e(i,{type:"info",onClick:()=>p()},{default:()=>[a("重置表单为初始状态")]}),e(i,{type:"warning",onClick:m},{default:()=>[a("移除校验状态")]}),e(i,{type:"primary",onClick:()=>n("name")},{default:()=>[a("仅校验姓名字段")]}),e(i,{type:"primary",onClick:s},{default:()=>[a("校验")]})]})]})]})]}),"header-extra":()=>"输入表单的时候,试试按下 Enter 键"})}});export{Ue as default};