Antd中的Modal>Form结构的底部按钮

最近写了大量的Form表单,不是一个接一个,而是每隔几天就来一个那种。每次都会卡在Modal的footer上面。我已经受够了,既然记不住怎么用,我就不打算记了,索性写在博客上,每次用都来查一下,也是极好的。

如题,就是使用Modal弹出一个Form,使用的都是antd中的组件,为了能够自定义footer,要分成下面几个步骤:

步骤0:创建一个form handler

jsx 复制代码
    import { form } from 'antd';
    ...
    const [form] = Form.useForm();

步骤1:给Form绑定handler

jsx 复制代码
        <Form
          form={form}
          ...

步骤2:Modal打开或者关闭的时候重置表单数据

注意:如果需要回填数据,则会在其他useEffect中使用setFieldsValue进行回填。

jsx 复制代码
  useEffect(() => {
    form.resetFields();
  }, [props?.visible]);

步骤3:在Modal的footer中自定义button

jsx 复制代码
    <Modal
      forceRender
      visible={visible}
      ...
      footer={[
        <Button onClick={outerModalCancel}>Back</Button>,
        <Button type="primary" onClick={() => form.submit()}>
          Submit
        </Button>
      ]}
      ...

由于本人之前搞得不是互联网,所以最近才开始大量使用antd组件,写的不对的地方还请各位大佬多多包涵。

相关推荐
笃行35016 分钟前
集中式与分布式,KingbaseES 的四种形态共用一套内核
前端
陈随易2 小时前
Vue 编译器换掉 source map,快了三四成
前端·后端·程序员
ZhengEnCi3 小时前
12 种高级 UI 交互效果及对应 AI 提示词:从按压回弹到底部抽屉的物理感教学
前端·css·交互设计
IT_陈寒6 小时前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
用户2705077725246 小时前
MCP 最小 Server 实测:3 个 JSON-RPC 报错与修法
前端
用户499335025076 小时前
一人VIP账号多人共用:Web 代理里的会话共享怎么实现
前端
用户老李6 小时前
无线电自学教程 05:第一台收音机——从矿石机到 SDR
前端
IPIPD6 小时前
Node.js请求遇到503怎么重试?先解析Retry-After,再做有上限退避
前端
葡萄城技术团队6 小时前
dsh-spreadjs-editor 的集成链路:把 SpreadJS Designer 嵌进 Agent 工作台
前端
FlyWIHTSKY7 小时前
vue2和vue3有什么区别,用法上有哪些区别
前端·javascript·vue.js