博客
关于我
vue3+element-plus 项目中 el-switch 刷新后自动触发change?坑就藏在这里!
阅读量:794 次
发布时间:2023-02-16

本文共 867 字,大约阅读时间需要 2 分钟。

el-switch 刷新后自动触发 change?坑就藏在这里!

最近在一个 Vue3 + Element Plus 的管理后台项目中,我们遇到了一个奇怪的 bug:el-switch 控件在页面刷新后会自动触发 @change 事件,导致接口被意外调用。最初我以为是自己的代码问题,但后来发现这是 Element Plus 的官方设计!这让我不得不深入调查这个问题。

遇到的问题

在项目中,我们使用 el-switch 来控制状态,代码如下:

随着项目的使用,我们发现每次页面刷新后,el-switch 会自动触发 @change 事件。我们怀疑是不是自己的代码有问题,仔细检查后发现,这并不是代码问题,而是 Element Plus 的默认行为!

为什么会这样?

经过进一步调研,我们发现 Element Plus 的 el-switch 组件在刷新页面后会自动触发 @change 事件。这是因为 el-switch 会在每次刷新时重新渲染,并尝试触发所有绑定的事件。这种设计虽然有其便利性,但也带来了意想不到的问题。

解决方法

为了避免刷新后触发 @change 事件,我们需要做一些调整:

  • 移除事件监听在刷新前:在页面刷新之前,可以通过手动移除事件监听器,避免触发。可以在 beforeunload 生命周期钩子中执行:
    1. 手动触发 change 事件:在刷新前,手动触发 change 事件,确保状态一致:
      1. 检查多个 el-switch 组件:确保页面中只有一个 el-switch 组件,避免多个组件同时触发 change 事件。

      2. 参考 Element Plus 文档:查阅 Element Plus 的官方文档,了解更多 el-switch 的行为和特性。

      3. 总结

        el-switch 在刷新后自动触发 change 事件的现象,主要是 Element Plus 的设计特性。通过上述方法,我们可以有效避免这个问题。建议在实际项目中根据具体需求选择合适的解决方案,以确保接口的安全性和功能的稳定性。

    转载地址:http://ovjfk.baihongyu.com/

    你可能感兴趣的文章
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
    查看>>
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>
    nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
    查看>>
    NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
    查看>>
    NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
    查看>>
    NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
    查看>>
    NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
    查看>>
    NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
    查看>>
    NIFI大数据进阶_NIFI监控功能实际操作_Summary查看系统和处理器运行情况_viewDataProvenance查看_---大数据之Nifi工作笔记0026
    查看>>
    NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
    查看>>
    NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
    查看>>
    NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
    查看>>