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]);
相关推荐
|晴 天|5 小时前
Vue 3 + TypeScript + Element Plus 博客系统开发总结与思考
前端·vue.js·typescript
猫3285 小时前
v-cloak
前端·javascript·vue.js
旷世奇才李先生5 小时前
Vue 3\+Vite\+Pinia实战:企业级前端项目架构设计
前端·javascript·vue.js
SoaringHeart7 小时前
Flutter进阶:用OverlayEntry 实现所有弹窗效果
前端·flutter
IT_陈寒9 小时前
Vite静态资源加载把我坑惨了
前端·人工智能·后端
herinspace9 小时前
管家婆实用贴-如何分离和附加数据库
开发语言·前端·javascript·数据库·语音识别
小码哥_常9 小时前
从MVC到MVI:一文吃透架构模式进化史
前端
嗷o嗷o9 小时前
Android BLE 的 notify 和 indicate 到底有什么区别
前端
豹哥学前端9 小时前
别再背“var 提升,let/const 不提升”了:揭开暂时性死区的真实面目
前端·面试
lar_slw10 小时前
k8s部署前端项目
前端·容器·kubernetes