关于 ant-design-vue resetFields 失效

本文讲述了在使用AntDesignVue的useForm组件时,resetFields方法失效的问题,原因在于初始模型没有正确定义。作者提供了三种解决方案:1)明确指定initialModel;2)在resetFields时传入空对象;3)按官网文档设置初始值。
摘要由CSDN通过智能技术生成

关于 ant-design-vue resetFields 失效

背景:
遇到这样的问题使用ant-design-vue useForm来制作表单的时候,resetFields()失效

场景:
编辑 -赋值
新增-初始值(问题点:新增的时候他就不初始化

方案:
1、调用resetFields() 传参
resetFields传参
2、要么使用reactive 明确定义初始值
在这里插入图片描述

解释:
首先我这里讲一下源代码中的逻辑

useForm代码

在这里插入图片描述
1、首先我讲一下我这里为什么不生效,因为我在定义初始值的时候,并没有给准确的modelRef定义

const modelRef = reactive({} as SomethingInterface);

因为我是使用typescript不想给他一个一个定义,所以根据源码看的话,我的initialModel就是个{}
所以我每次调用resetFields()的时候都是 modelRef, 所以他就没变

2、 为了解决这个问题,我这里是有3个方案

  • 第一是我没看源码前,直接粗暴的方式
// 清空对象,将其属性设置为空对象
Object.keys(obj).forEach(key => delete obj[key as keyof typeof obj]);
  • 第二是我看源码后,resetFileds()的时候传值 resetFileds({name:""})
  • 第三是按照官网文档一样,老老实实的定好

在这里插入图片描述


好了, 我这里说完了,继续敲代码
  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值