Vue3的表单重置功能失效

在我用表单功能做新增修改的时候,遇到了点新增时清空表单的问题;

         <el-button type="primary" @click="onAdd" size="small">新增</el-button>
        <el-form :inline="true" :model="updateList" class="demo-form-inline" ref="formRef" :rules="rules">
            <el-form-item label="角色编号" prop="roleId">
               <el-input v-model="updateList.roleId" placeholder="角色编号" clearable style="width: 10vw;" />
            </el-form-item>
            <el-form-item label="角色名称" prop="roleName">
               <el-input v-model="updateList.roleName" placeholder="角色名称" clearable style="width: 10vw;" />
            </el-form-item>
            <el-form-item>
               <el-button type="primary" @click="onSave(formRef)">{{ addOrUpdate }}</el-button>
               <el-button type="primary" @click="resetForm()">重置</el-button>
            </el-form-item>
         </el-form>

这样,我想在新增时清空表单

//编辑
const handleEdit = (index: number, row: any) => {
   drawer.value = true
   addOrUpdate.value = '编辑'
   Object.assign(updateList,row)
}
//定义一个ref对象绑定表单
const formRef = ref<FormInstance>()
//新增
const onAdd = () => {
   console.log("queryList", queryList);
   drawer.value = true
   addOrUpdate.value = '新增'
   resetForm()
   
}
// 重置表单
const resetForm = () => { 
   formRef.value?.resetFields()
   
}

结果老是失败,查了一下,发现是编辑功能里赋值时的问题,解决如下

//编辑
const handleEdit = (index: number, row: any) => {
   drawer.value = true
   addOrUpdate.value = '编辑'

// 编辑按钮事件 要放在nextTick里面 赋值的时候
   nextTick(() =>{
      Object.assign(updateList,row)
   })
}
//定义一个ref对象绑定表单
const formRef = ref<FormInstance>()
//新增
const onAdd = () => {
   console.log("queryList", queryList);
   drawer.value = true
   addOrUpdate.value = '新增'
   resetForm()
   
}
// 重置表单
const resetForm = () => { 
   formRef.value?.resetFields()
   
}

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值