Ant Design Vue resetFields表单重置不生效问题及解决

来自:网络
时间:2024-06-10
阅读:

Ant Design Vue resetFields表单重置不生效

使用 Ant Design Vue 的 resetFields 重置表单,当新增表单和编辑表单公用一套样式的时候, 编辑完成后点击新增还会出现老数据,如果只是简单的新增则一切正常,不知道各位有没有遇到这个问题

几经搜索

Ant Design Vue resetFields表单重置不生效问题及解决

发现 resetFields 作用不是清空表单,而是将所有字段值重置为初始值

因此点编辑时因为表单有初始值信息,修改完关闭后 resetFields 会保留初始值, 再次点击新增时就出现了难缠的老数据。

Ant Design Vue resetFields表单重置不生效问题及解决

改进方法

点击新增时增加调用置空表单字段的方法

function resetForm() {
  return {
    username: '',
    alias: '',
    email: '',
    dept_id: undefined,
    phone: '',
  }
}

这样就能无后顾之忧了

Vue重置表单的坑 resetFields方法

<el-form :inline="true" :model="searchForm" ref="searchForm" class="demo-form-inline">
        <el-form-item prop="customerName">
          <el-input class="sendmessag-input" v-model="searchForm.customerName" placeholder="请输入客户姓名" width="40" />
        </el-form-item>
        <el-form-item prop="cardIdno">
          <el-input class="sendmessag-input" v-model="searchForm.cardIdno" placeholder="请输入证件号码" width="40" />
        </el-form-item>
        <el-form-item prop="contactPhone">
          <el-input class="sendmessag-input" v-model="searchForm.contactPhone" placeholder="请输入联系电话" width="40" />
        </el-form-item>
        <el-form-item prop="orderNo">
          <el-input class="sendmessag-input" v-model="searchForm.orderNo" placeholder="请输入工单编号" width="40" />
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="onSubmit">查询</el-button>
          <el-button @click="resetForm">重置</el-button>
        </el-form-item>
      </el-form>
 resetForm() {
      this.$refs.searchForm.resetFields();
    },

坑1

在e-form标签加上ref=“searchForm”,识别哪个表单做重置,这个一般都知道。

坑2

在e-form-item 标签下加prop,resetFields哪些字段的做重置

坑3

在重置的数据必须包裹在e-form-item下。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。 

返回顶部
顶部