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]);
相关推荐
lijun_xiao20094 小时前
前端最新Vue2+Vue3基础入门到实战项目全套教程
前端
90后的晨仔4 小时前
Pinia 状态管理原理与实战全解析
前端·vue.js
杰克尼4 小时前
JavaWeb_p165部门管理
java·开发语言·前端
90后的晨仔4 小时前
Vue3 状态管理完全指南:从响应式 API 到 Pinia
前端·vue.js
90后的晨仔4 小时前
Vue 内置组件全解析:提升开发效率的五大神器
前端·vue.js
我胡为喜呀4 小时前
Vue3 中的 watch 和 watchEffect:如何优雅地监听数据变化
前端·javascript·vue.js
我登哥MVP5 小时前
Ajax 详解
java·前端·ajax·javaweb
非凡ghost5 小时前
Typora(跨平台MarkDown编辑器) v1.12.2 中文绿色版
前端·windows·智能手机·编辑器·软件需求
馨谙5 小时前
/dev/null 是什么,有什么用途?
前端·chrome
JamSlade6 小时前
流式响应 sse 系统全流程 react + fastapi为例子
前端·react.js·fastapi