(vue.js)element ui 表单重置 this.$refs[formName].resetFields()不执行
我在一个弹框里有一个form表单,用于增加页面内容。点击取消按钮本身form里的内容都清空才对。使用了this.$refs['addServiceForm'].resetFields()不起作用。console出来
console.log(this.$refs['addServiceForm'].resetFields());居然是undefined。
<el-dialog
title="新建服务"
:visible.sync="addServiceDialogVisible"
width="400px">
<div>
<el-form ref="addServiceForm">
<table class="base_table">
<tbody class="table_body1">
<tr>
<td width="15%" class="text_align_right">名称</td>
<td>
<el-input v-model="serviceName"></el-input>
</td>
</tr>
<tr>
<td class="text_align_right">简称</td>
<td>
<el-input v-model="serviceShorterName"></el-input>
</td>
</tr>
<tr>
<td class="text_align_right">类型</td>
<td>
<el-select v-model="serviceType" placeholder="请选择类型" @change="selectChange" style="width:100%">
<el-option
v-for="item in serviceTypeOptions1"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td class="text_align_right">备注</td>
<td>
<el-input type="textarea" :rows="2" v-model="serviceRemarks"></el-input>
<!--加上resize="none"属性就不可以缩放了-->
</td>
</tr>
</tbody>
</table>
</el-form>
</div>
<span slot="footer" class="dialog-footer modalCenter">
<el-button type="primary" @click="addNewService">确 定</el-button>
<el-button @click="cancleAddService">取 消</el-button>
</span>
</el-dialog>
cancleAddService(){
this.resetForm('addServiceForm');
// this.serviceName='';
// this.serviceShorterName='';
// this.serviceRemarks='';
// this.serviceType='';
this.addServiceDialogVisible=false;
},
resetForm(formName) {
this.$refs[formName].resetFields();
console.log("form名称:"+this.$refs['addServiceForm'].resetFields());
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
el-form
需要接收一个model
,并且需要配合el-form-item
一起使用,并且在el-form-item
上绑定prop
属性,resetField
方法才能好使。并且addServiceData应该是个对象,定义在data里面,类似这样
外部重置这样用
this.$refs
而不是this.$ref
this.$nextTick(() => {})
el-form
中的model
/ref
以及el-form-item
中的prop
再检查一遍吧2020年6月30日 10:55:49