热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

iview的modal组件踩坑

解决点击确定按钮后,模态框不关闭问题(主要用于表单验证)踩坑1:在modal组件中使用on-ok和on-cancel事件&#

解决点击确定按钮后,模态框不关闭问题(主要用于表单验证)


踩坑1:在modal组件中使用on-ok和on-cancel事件,当触发on-ok时,无法阻止modal关闭,对于需要校验的表单,得在校验成功且调用接口成功后才关闭对话框


踩坑2:在处理踩坑1的时候,通过iview的preventModal()方法对modal进行监听,并通过对输入框的内容进行判断,当验证不通过时执行模态框显示操作,但是发现这个办法会导致取消按钮失效,用户需要一直输入,直到表单验证通过后跳转,模态框才会关闭,这个办法还会造成代码冗余,二次使用正则验证,消耗系统的性能。
在这里插入图片描述


最终解决办法:
通过改变iview的modal的loading属性值来控制用户点击确定按钮时弹出框不关闭,达到表单验证错误的情况下,弹出框不关闭,用户可以继续输入直到表单验证成功,再在判断的操作里面修改弹出框是否显示的属性让弹出框关闭并进行下一步的操作。
注意:loading属性需要结合vue的API-----this.$nextTick()来进行二次赋值操作。


this.$nextTick:在下次DOM更新循环结束之后执行延迟回调,在修改数据之后立即使用这个方法,获取更新后的DOM

在这里插入图片描述

具体实现方法如下:
1)在modal中绑定loading属性和on-ok方法全局声明loading属性并赋予初始值,在on-ok方法中进行赋值和修改值以控制表单提交时弹出框的状态。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


2)表单验证通过后,在on-ok里通过改变双向绑定的模态框数据控制模态框是否显示。
在这里插入图片描述
在这里插入图片描述


推荐阅读
  • 深入解析:BaseCms Vue项目的核心目录架构与组织方式
    本文深入解析了BaseCms Vue项目的目录架构与组织方式。首先,通过目录结构图展示了项目的整体布局。具体来说,`documents` 目录用于存储项目相关的文档文件,`api` 目录则集中管理所有的API数据接口,而 `assets` 目录则存放项目的静态资源文件。此外,还详细介绍了其他关键目录及其功能,帮助开发者更好地理解和维护项目结构。 ... [详细]
  • 地图集成方法与应用 ... [详细]
  • Node.js 教程第五讲:深入解析 EventEmitter(事件监听与发射机制)
    本文将深入探讨 Node.js 中的 EventEmitter 模块,详细介绍其在事件监听与发射机制中的应用。内容涵盖事件驱动的基本概念、如何在 Node.js 中注册和触发自定义事件,以及 EventEmitter 的核心 API 和使用方法。通过本教程,读者将能够全面理解并熟练运用 EventEmitter 进行高效的事件处理。 ... [详细]
  • 本文介绍了Android动画的基本概念及其主要类型。Android动画主要包括三种形式:视图动画(也称为补间动画或Tween动画),主要通过改变视图的属性来实现动态效果;帧动画,通过顺序播放一系列预定义的图像来模拟动画效果;以及属性动画,通过对对象的属性进行平滑过渡来创建更加复杂的动画效果。每种类型的动画都有其独特的应用场景和实现方式,开发者可以根据具体需求选择合适的动画类型。 ... [详细]
  • 通过优化模板消息机制,本研究提出了一种高效的信息化推送方案。该方案利用获取的访问令牌(access token)和指定的模板ID,实现了精准且快速的信息推送,显著提升了用户体验和信息传递效率。具体实现中,通过调用相关API接口,确保了消息的准确性和及时性,为用户提供更加便捷的服务。 ... [详细]
  • Vue项目上线后遇到的问题及解决方案 ... [详细]
  • 本文深入探讨了在Android应用开发中常见的相机连接故障问题,特别是在RK3288平台和Android 6.0系统上。通过分析具体案例,本文提供了详细的解决方案和应对策略,旨在帮助开发者有效解决相机连接问题,提升应用的稳定性和用户体验。 ... [详细]
  • 利用Swiss数据集进行多元线性回归分析,首先通过散点图矩阵(pairs plot)初步探索各变量之间的关系。接着,绘制残差图以评估模型的拟合效果和假设条件的合理性,进一步诊断和验证模型的有效性。通过这些图形工具,可以更深入地理解模型的性能和潜在问题。 ... [详细]
  • 在 Linux 系统中,`/proc` 目录实现了一种特殊的文件系统,称为 proc 文件系统。与传统的文件系统不同,proc 文件系统主要用于提供内核和进程信息的动态视图,通过文件和目录的形式呈现。这些信息包括系统状态、进程细节以及各种内核参数,为系统管理员和开发者提供了强大的诊断和调试工具。此外,proc 文件系统还支持实时读取和修改某些内核参数,增强了系统的灵活性和可配置性。 ... [详细]
  • 本文深入探讨了 `ExpressionChangedAfterItHasBeenCheckedError` 错误的原因及其解决方案。通过分析 Angular 的变更检测机制,详细解释了该错误的发生条件,并提供了多种有效的应对策略,帮助开发者在实际开发中避免这一常见问题。 ... [详细]
  • 需求:在指定的DIV区域内点击时,需展示该区域内的附加操作面板;而在区域外点击时,则应自动隐藏该附加操作面板。通过精准的事件监听与处理,确保用户交互体验的流畅性和直观性。 ... [详细]
  • Android目录遍历工具 | AppCrawler自动化测试进阶(第二部分):个性化配置详解
    终于迎来了“足不出户也能为社会贡献力量”的时刻,但有追求的测试工程师绝不会让自己的生活变得乏味。与其在家消磨时光,不如利用这段时间深入研究和提升自己的技术能力,特别是对AppCrawler自动化测试工具的个性化配置进行详细探索。这不仅能够提高测试效率,还能为项目带来更多的价值。 ... [详细]
  • 浏览器中 W3School JavaScript 的 Location 对象详解
    Location对象是浏览器Window对象的一部分,通过`window.location`属性可访问。它包含了当前页面URL的相关信息,如协议、主机名、路径和查询参数等,对于页面导航和URL操作非常有用。 ... [详细]
  • 根据不同环境需求,利用 Vue CLI 的 `npm run build` 命令对项目进行定制化打包,如测试、预发布和生产环境。通过配置 `process.env` 变量,实现不同环境下接口和服务的动态切换,确保应用在各阶段都能高效运行和调试。 ... [详细]
  • PyQt5 QTextEdit:深入解析Python中多功能GUI库的应用与实现
    本文详细探讨了 PyQt5 中 QTextEdit 组件在 Python 多功能 GUI 库中的应用与实现。PyQt5 是 Qt 框架的 Python 绑定,提供了超过 620 个类和 6000 个函数及方法,广泛应用于跨平台应用程序开发。QTextEdit 作为其中的重要组件,支持丰富的文本编辑功能,如富文本格式、文本高亮和自定义样式等。PyQt5 的流行性不仅在于其强大的功能,还在于其易用性和灵活性,使其成为开发复杂用户界面的理想选择。 ... [详细]
author-avatar
手机用户2502881923
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有