resetFields 重置部分属性

<el-form label-width="130px" :model="jfbzzhForm" :rules="jfbzzhFormRules" ref="jfbzzhForm">
    <el-form-item label="名称:" prop="oppAccDepict">
        <el-input v-model="jfbzzhForm.oppAccDepict" ></el-input>
    </el-form-item>
    <el-form-item label="类型:" prop="type">
        <el-radio-group v-model="jfbzzhForm.type" @change="chooseTyp">
            <el-radio label="0" >类型1</el-radio>
              <el-radio label="1">类型2</el-radio>
        </el-radio-group>    
    </el-form-item>
</el-form>

chooseTyp(val){
    this.$refs['jfbzzhForm'].resetFields("oppAccDepict");
    console.log(val);
}

想在 jfbzzhForm.type 改变的时候将 oppAccDepict 重置(只重置 oppAccDepict,或者不重置type)
实际运行中 jfbzzhForm 中所有元素都被重置了,点击类型2的时候,console出来的是1 0两个值

阅读 9.7k
2 个回答

resetFields对整个表单进行重置,移除表单项的校验用clearValidate

  1. 使用 this.$refs 而不是 this.$ref
  2. 配合使用 this.$nextTick(() => {})
  3. el-form 中的 model / ref 以及 el-form-item 中的 prop 再检查一遍吧

2020年6月30日 10:55:49

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题