antd pro component - EditableProTable 表单重置

本文主要探讨了在使用Ant Design Pro的EditableProTable组件时,遇到的受控模式下数据源(dataSource)变更但表格编辑状态未及时更新的问题。通过实例代码展示了如何利用Form实例的resetFields方法来强制更新表单,确保数据与视图的一致性。

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

antd pro component - EditableProTable

受控情况之下,改变 dataSource之后,但是表格编辑组件还是记录上次编辑状态记录的数据,没有及时更新,解决办法就是手动更新表单(其实整个表格就是一个form)

开始干活,上代码!(代码直接从项目摘出来的,看起来有点乱,核心部分都在)

  // 声明form实例
  const [form] = Form.useForm();
  console.log('打印formValues:',form.getFieldsValue());

 <EditableProTable<OrderCargoDtoType>
            // scroll={{ x: 1300 }}
            rowKey="id"
            columns={columnsArr(short_width, options, onSelect, onSearch)}
            // request={requestTableData}
            dataSource={dataSource}
            pagination={pageConfig}
            actionRef={tableRef}
            //onChange={setDataSource}
            rowSelection={{ ...rowSelection, checkStrictly: false }}
            toolBarRender={() => {
              return renderTableToolBar(save, handleExport, dataCensus, batch,openEdit);
            }}
            editable={{
              form:form,
              type: 'multiple',
              .....



//这里是修改dataSource的地方,也是需要更新表单的地方


 getData={(data: any) => {
              modifyRowKeys.forEach((ele, index) => {
                let i = dataSource.findIndex((item) => {
                  return item.id == ele;
                });

                for (let key in data) {
                   dataSource[i][key] = data[key];
                 }
              });
               setDataSource(dataSource);
               //------------------就是这里!!!--------------
              form.resetFields();
             }}
.....

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值