旧青年 发表于 2024-6-11 12:16:01

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

Ant Design Vue resetFields表单重置不生效

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

几经搜索


发现 resetFields 作用不是清空表单,而是将所有字段值重置为初始值。
因此点编辑时因为表单有初始值信息,修改完关闭后 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下。

总结

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

来源:https://www.jb51.net/javascript/3222716gl.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Ant Design Vue resetFields表单重置不生效问题及解决