antd表格数据回显在form表单中

在AntDesign(antd)的使用中,当Modal组件内包含一个Form表单,可以通过点击表格的编辑按钮将选中行的数据回显到表单中。利用Modal的`destroyOnClose`属性设置为true和Form的`preserve`属性设置为false,可以实现Modal关闭时清空表单数据。通过useState管理record对象,并在useEffect中监听其变化,使用form.setFieldsValue方法设置表单的初始值来实现数据回显。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用antd的过程中,组件Modal中嵌套了一个form表单,需要点击table表格中的编辑按钮,该行数据可以在form表单中进行回显。

表格编辑按钮:

const edit = (record:DataType) => {
  (childRef.current as any).showModalEdit(record);
};

form表单
1.Modal中destroyOnClose={true}搭配form表单preserve={false}使用,可以做到关闭modal,form表单数据清空

<Modal title="创建" open={isModalOpen} okText="提交" cancelText="取消" destroyOnClose={true}
            onOk={handleOk} onCancel={handleCancel} forceRender>
              <Form
              name="basic"
              form={form}
              style={{ maxWidth: 600 }}
              initialValues={{ remember: true }}
              onFinish={onFinish}
              onFinishFailed={onFinishFailed}
              autoComplete="off"
              preserve={false}
            >
          </Form>
          </Modal>

2.点击编辑按钮,传递该行数据record,在form组件中声明recordobject,点击编辑,modal弹出,将record赋值给recordobject,利用useEffect监督recordobject的变化,并在useEffect中通过form.setFieldsValue设置表单的值。

const [recordobject, setIsRecord] = useState({});
const [form] = Form.useForm();
useEffect(() => {
  form.setFieldsValue({...recordobject})
}, [recordobject])
const showModal = () => {
  setIsModalOpen(true);
};

const showModalEdit = (record:any) => {
  setIsModalOpen(true);
  setIsRecord(record);
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Realistic-er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值