<template> <a-form :label-col="{ span: 4 }" :wrapper-col="{ span: 14 }" > <a-form-item label="支付域名配置" v-bind="validateInfos.alName"> <a-input v-model:value="modelRef.alName" /> </a-form-item> <a-form-item :wrapper-col="{ span: 14, offset: 4 }"> <a-button type="primary" @click.prevent="onSubmit">提交</a-button> <a-button style="margin-left: 10px" @click="reset">重置</a-button> </a-form-item> </a-form> </template> <script lang="ts" setup> import { defineExpose, reactive, toRaw } from "vue"; import { Form } from "ant-design-vue"; import { onCreaterealmName } from "@/api/index"; const useForm = Form.useForm; const modelRef = reactive({ alName: "", }); const { resetFields, validate, validateInfos } = useForm( modelRef, reactive({ alName: [ { required: true, message: "请输入支付宝域名配置", }, ], }) ); const onSubmit = () => { validate() .then(async(res) => { const data = { remarks:'' , uid: 1, url: toRaw(modelRef).alName } const data = await onCreaterealmName(JSON.stringify(data)) console.log(data,'data'); }) .catch((err) => { console.log("error", err); }); }; const reset = () => { resetFields(); }; defineExpose({ validateInfos, reset, modelRef, onSubmit, }); </script> <style> .dynamic-delete-button { cursor: pointer; position: relative; top: 4px; font-size: 24px; color: #999; transition: all 0.3s; } .dynamic-delete-button:hover { color: #777; } .dynamic-delete-button[disabled] { cursor: not-allowed; opacity: 0.5; } </style> <style scoped lang="less"> .addform { } </style>