/* eslint-disable no-template-curly-in-string */ import React,{useEffect,useState} from "react" import {Button,Form,Input,Select,message,Spin} from 'antd' import useSyncCallback from "../hook/useSyncCallback" import {AxiosResponse,AxiosError} from "axios" import {api} from "../utils/api" import "../assets/scss/user.scss" const {Option} = Select const validateMessages = { required: '${label} is required!', types: { number: '${label} is not a valid number!', }, }; export default function User() { const [form] =Form.useForm() //let formValue = useRef(null) const [formjson,setFormJson] = useState({}) const [loading,setLoading] = useState(true) const onFinish=(values:any)=>{ //console.log(values) api.updateProfile(values) .then((response:AxiosResponse)=>{ const res=response.data if(res.code === 0){ message.success("更新成功") localStorage.setItem("user",JSON.stringify(values)) }else{ message.error("更新失败") } }) .catch((err:AxiosError)=>{ Promise.reject(err) message.error(err.message) }) } const func= useSyncCallback(()=>{ console.log(formjson) form.resetFields() setLoading(false) }) useEffect(()=>{ api.getProfile() .then((response:AxiosResponse)=>{ const res=response.data if(res.code===0){ setFormJson({ familyName:res.data.familyName, middleName:res.data.middleName, givenName : res.data.givenName, nickName : res.data.nickName, idCardNo : res.data.idCardNo, preferredLanguage : res.data.preferredLanguage, webSite : res.data.webSite, }) func(); } }) .catch((err:AxiosError)=>{ Promise.reject(err) message.error(err.message) }) },[form]) return ( <>
) }