当前位置: 首页 > wzjs >正文

中国做网站找谁网页设计免费网站推荐

中国做网站找谁,网页设计免费网站推荐,新手怎样推销自己的产品,手袋 东莞网站建设Vue Element UI 表单弹窗重置问题解决方案 —— 每次打开都初始化,告别残留提示! 前言 在使用 Vue Element UI 开发后台管理系统时,我们经常会用到 el-dialog 弹出表单对话框来完成用户输入操作。然而,很多开发者都会遇到一个常…

Vue Element UI 表单弹窗重置问题解决方案 —— 每次打开都初始化,告别残留提示!

前言

在使用 Vue + Element UI 开发后台管理系统时,我们经常会用到 el-dialog 弹出表单对话框来完成用户输入操作。然而,很多开发者都会遇到一个常见问题:

当第一次提交未填写内容触发校验失败后,关闭对话框再次打开时,依然显示之前的错误提示,且输入框中可能还保留上次的输入内容!

这不仅影响用户体验,也容易让用户产生困惑。那么,如何实现每次打开对话框时都进行“彻底初始化”,让表单回到初始状态呢?

本文将带你一步步解决这个问题,并提供完整、可直接复用的高质量代码示例。

问题描述

以下是一个典型的 el-dialog + el-form 表单结构:

<el-dialog :title="title" :visible.sync="dialog1" width="480px" append-to-body><el-form :model="refuseForm" ref="refuseForm" :rules="rules" label-width="110px"><el-form-item label="原因" prop="refuseReason"><el-inputtype="textarea":autosize="{ minRows: 7, maxRows: 15}"placeholder="请输入内容"maxlength="800"show-word-limitv-model="refuseForm.refuseReason"></el-input></el-form-item></el-form>
</el-dialog>

出现的问题:

  • 第一次未填写内容点击提交,触发红色提示:“请输入原因”。
  • 关闭弹窗后再次打开,仍显示之前的错误提示。
  • 输入框中的值没有被清空。

解决思路

Element UI 提供了两个非常实用的方法用于表单控制:

方法名作用
resetFields()清除所有验证信息,并将表单字段重置为初始值
clearValidate()仅清除验证提示,不重置表单数据

因此,我们的目标是:在每次打开弹窗前调用 resetFields() 方法,确保表单恢复初始状态

实现方案(Vue + Element UI)

步骤一:监听 el-dialogopen 事件

我们可以利用 @open="handleOpen" 监听弹窗打开事件,在弹窗即将显示时执行初始化逻辑。

步骤二:使用 $nextTick 确保 DOM 更新完毕

由于 Vue 是异步更新 DOM 的,我们需要等待 DOM 完全渲染后再调用 resetFields()

最终代码如下:

<template><el-dialog :title="title" :visible.sync="dialog1" width="480px" append-to-body @open="handleOpen"><el-form :model="refuseForm" ref="refuseForm" :rules="rules" label-width="110px"><el-form-item label="原因" prop="refuseReason"><el-inputtype="textarea":autosize="{ minRows: 7, maxRows: 15}"placeholder="请输入内容"maxlength="800"show-word-limitv-model="refuseForm.refuseReason"></el-input></el-form-item></el-form><div slot="footer" class="dialog-footer"><el-button type="primary" @click="submitRefuseForm">确 定</el-button><el-button @click="dialog1 = false">取 消</el-button></div></el-dialog>
</template><script>
export default {data() {return {title: '拒绝原因',dialog1: false,refuseForm: {refuseReason: ''},rules: {refuseReason: [{ required: true, message: '请输入原因', trigger: 'blur' },{ min: 1, max: 800, message: '长度在1到800个字符', trigger: 'blur' }]}};},methods: {// 弹窗打开时触发handleOpen() {this.$nextTick(() => {this.$refs.refuseForm.resetFields();});},// 提交表单submitRefuseForm() {this.$refs.refuseForm.validate(valid => {if (valid) {console.log('提交成功:', this.refuseForm);this.dialog1 = false;this.$refs.refuseForm.resetFields(); // 可选:提交后也清空} else {console.log('校验失败');return false;}});}}
};
</script>

效果展示

每次打开弹窗:

  • 表单内容清空;
  • 错误提示消失;
  • 光标不在文本框内;
  • 用户可以重新开始输入。

小结与建议

技巧说明
@open="handleOpen"在弹窗打开时触发初始化
this.$nextTick()等待 DOM 渲染完成再调用方法
resetFields()清空输入 + 清除校验提示
clearValidate()仅清除校验提示,适合保留输入内容场景

通过这篇文章,你应该已经掌握了如何在 Vue + Element UI 中优雅地处理弹窗表单的初始化问题。这个技巧虽然简单,但在实际开发中非常实用,能大大提升用户体验和代码质量。

如果你觉得这篇文章对你有帮助,欢迎点赞、收藏、转发,也可以留言讨论你的想法或提出改进建议!


文章转载自:

http://0zIN7VOZ.jgcyn.cn
http://XNwUUf0C.jgcyn.cn
http://gZQi2Gel.jgcyn.cn
http://ufG27t0V.jgcyn.cn
http://lzTsZFbR.jgcyn.cn
http://TDFw90nw.jgcyn.cn
http://UX8J2Pko.jgcyn.cn
http://BQWMUUJv.jgcyn.cn
http://0ChkR3AE.jgcyn.cn
http://hzvqcHHA.jgcyn.cn
http://fN6NZxbH.jgcyn.cn
http://Ag7q2nds.jgcyn.cn
http://STpd3TMu.jgcyn.cn
http://JlVlIag1.jgcyn.cn
http://VWlRTkcr.jgcyn.cn
http://IH4VTVO1.jgcyn.cn
http://cyyCmH5i.jgcyn.cn
http://4jtSd0R9.jgcyn.cn
http://2RwZeRFB.jgcyn.cn
http://KQvbmBhm.jgcyn.cn
http://8TE0eN6m.jgcyn.cn
http://97UmBOW0.jgcyn.cn
http://pzquN3C7.jgcyn.cn
http://3E2pEEVu.jgcyn.cn
http://STcz5LmG.jgcyn.cn
http://M9wSUsrl.jgcyn.cn
http://3qlk7I8s.jgcyn.cn
http://RvGTe66k.jgcyn.cn
http://uP9k0VXD.jgcyn.cn
http://dRtBmTh6.jgcyn.cn
http://www.dtcms.com/wzjs/729652.html

相关文章:

  • 健康网站模版长沙建设网站公司
  • 杭州市下城区建设局门户网站罗湖住房和建设局网站官网
  • 怎么做网站的搜索引擎做网站维护有没有前途
  • 沅江市住房和建设局网站宁海网站建设
  • 网站漂浮特效怎么做论坛网站前置审批
  • 手机免费永久建立网站网站制作公司多少钱一年
  • 网站视频管理系统机构改革网站建设
  • 如何建国际商城网站电商分销主要做什么
  • 运营网站挣钱方法南昌高端网站制作
  • 爱淘宝网页网站建设电子商务是最差的专业吗
  • wix网站做seo如何网页站点的用途
  • 大型网站开发像天猫类的写过太原的网站
  • 网站开发Z亿玛酷1订制网站建设工作目标
  • 网站建设职业发展前景山西网站建设 哪家好
  • idea 做网站登录微信公众平台设计
  • 网页设计作品网站北京seo推广优化
  • 佛山做网站业务工资wordpress linux位置
  • 做空闲时间的网站外贸开发模板网站模板
  • 汽车保险网站网站psd模版
  • 网站推广具体内容简要说明腾讯云网站免费建设
  • 做网站需要什么硬件公共资源交易中心网站建设汇报
  • 池州做网站公司湖北网站设计流程
  • 网站景观设计展板
  • 手机网站 分享按钮网站描述应该怎么写
  • 海口企业建站系统模板pc做网站服务器
  • 站长工具在线查询wordpress运动鞋模板
  • 西安高端网站建设公司天猫网站建设目的
  • 比较大网站建设公司wordpress搜索结果带图代码
  • 品牌产品网站怎么做企业网站建设开题报告是什么
  • 个人网站域名备案流程德州网站开发人员