<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-form-item> </a-form> </template> <script lang="ts" setup> import { defineExpose, reactive, toRaw,onMounted } from "vue"; import { Form } from "ant-design-vue"; import { onCreaterealmName,onSearchSelectrealmName } from "@/api/index"; const useForm = Form.useForm; const uid = ref<any>(0) const modelRef = reactive({ alName: "", }); const { resetFields, validate, validateInfos } = useForm( modelRef, reactive({ alName: [ { required: true, message: "请输入支付宝域名配置", }, ], }) ); const onSubmit = () => { validate() .then(async(res) => { const params:Object = { remarks:'' , uid: 1, url: toRaw(modelRef).alName } const data = await onCreaterealmName(JSON.stringify(params)) if(data.state === 1){ onSreach(1) } }) .catch((err) => { console.log("error", err); }); }; const onSreach = async(uid:any)=>{ const data = await onSearchSelectrealmName(1) modelRef.alName = data.data[0].url } onMounted(async()=>{ await onSreach(1) }) defineExpose({ validateInfos, modelRef, onSubmit, onSreach }); </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>