ant-design form initialValues赋值state的坑

项目中需要将Form表单赋值初始值以供修改,但是我用useState设置了选中的值然后initialValues赋值却发现,点击出来显示的始终是上一次点击的值,然后用p标签重新显示这个state,发现又是最新的。

用useEffect也不起作用。我就放弃了使用initialValues,然后使用form.setFieldsValue()直接给form设置值。这下就行了

复制代码
   <ModalForm
        title="修改日程"
        open={modalVisit1}
        onFinish={async (values: any) => {
          console.log(values);
          const params={
            ...values,
            id: id
          }
          const res=await scheduleService.updateSchedule(params)
          if(res.success){
            message.success('修改成功'); // 提示用户提交成功
            const res=await scheduleService.getScheduleList()
            console.log(res.data);
            setMatchList(res.data)
          }
          return true;
        }}
      onOpenChange={setModalVisit1}
      // initialValues={updateRecord}
        form={form1}
        width={'40%'}
        modalProps={{
          destroyOnClose: true,
        }}
const [form1] = Form.useForm();

 form1.setFieldsValue(res.data)

React hooks 不能拿到最新的的setState的值

复制代码
  useEffect(() => {
    setUpdateRecord(updateRecord)
    console.log(updateRecord);
  }, [updateRecord]);
相关推荐
Csvn6 小时前
OpenSpec 详细使用教程
前端
之歆7 小时前
Day19_LESS 完全指南——从入门到工程实践
前端·css·less
云水一下7 小时前
HTML5 从入门到精通:实战收官——从零搭建完整静态网站,综合运用所有知识
前端·html5
不总是7 小时前
Windows 系统 Node.js 免安装版(zip)安装与配置教程(2026 最新)
前端·windows·node.js
冬奇Lab8 小时前
每日一个开源项目(第105篇):Twenty - 跳出 Salesforce 的圈套,定义现代开源 CRM
前端·后端·开源
zhangyao9403308 小时前
开发pc端时,表格的高度怎么设置才能铺满页面
前端·javascript·elementui
kjs--9 小时前
浏览器书签执行脚本
前端
之歆9 小时前
Day16_JavaScript 轮播图与事件工程实战(下篇)
服务器·开发语言·前端·javascript·网络·性能优化
沄媪9 小时前
CSRF 跨站请求伪造
前端·ctf·csrf
kyriewen10 小时前
我关掉了Copilot:因为我写的代码出现在了别人的建议里
前端·javascript·ai编程