一、概述
项目中有一个父子组件,子组件是dialog弹窗,第一次点击保存后,页面自动刷新。
父组件操作的表单数据都丢失了,但是再刷新一次,重新操作就不会刷新了,非常奇怪。
原因:由于当表单只有一个文本框时,按下回车将会触发表单的提交事件, 从而导致页面刷新。
<el-form :inline="true" :model="getForm" class="demo-form-inline">
<el-form-item label="科目名称">
<el-input v-model.trim="getForm.exam_name" @keyup.enter.native="search"></el-input>
</el-form-item>
</el-form>
二、解决方案
在 el-from 加上 @submit.native.prevent
<el-form :inline="true" :model="getForm" class="demo-form-inline" @submit.native.prevent>
<el-form-item label="科目名称">
<el-input v-model.trim="getForm.exam_name" @keyup.enter.native="search"></el-input>
</el-form-item>
</el-form>
本文参考链接:
本文介绍了一个Vue项目中遇到的问题:子组件Dialog弹窗保存后,父组件表单数据丢失并导致页面刷新。分析原因是单文本框表单提交事件触发所致,并提供了解决方案——阻止表单默认提交行为。
2072

被折叠的 条评论
为什么被折叠?



