element-ui的表单重置方法resetFields()的坑,及简单解决。

代码示例:

 <!-- 新增产品dialog弹窗开始 -->
    <el-dialog
  title="添加产品信息"
  :visible.sync="addDialogVisible"
  width="40%"
  @close="addFormClosed"
 >
  <!-- 表单内容区 -->
  <el-form enctype="multipart/form-data" ref="addFormRef" :model="addProductForm" label-width="80px">
  <el-form-item label="产品名称" prop="cpmc">
    <el-input v-model="addProductForm.cpmc" ></el-input>
  </el-form-item>
  <el-form-item  label="图片名称" prop="picname">
    <el-input disabled v-model="addProductForm.picname"></el-input>
  </el-form-item>
</el-dialog>
 <!-- 产品dialog弹窗结束 -->
 // 关闭dialog弹窗的回调函数
    addFormClosed(){
      // 在关闭dialog时重置表单
      console.log(this.$refs)
      this.$refs.addFormRef.resetFields();
    },

在el-dialog中添加关闭dialog的回调函数addFormClosed,关闭dialog时重置表单。
其中表单的数据通过v-model绑定。
直接拿到表单的引用$refs.addFormRef然后使用重置方法resetFields()。表单没有实现重置
坑坑坑来了
element-ui的表单重置方法resetFields()的坑,及简单解决。_第1张图片
要实现重置表单还必须为每个input框添加 prop属性,值是v-model中的字段名。

<el-form-item label="产品名称" prop="cpmc">
    <el-input v-model="addProductForm.cpmc" ></el-input>
  </el-form-item>

你可能感兴趣的:(Vue)