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

子组件使用:visible.sync=“visible“进行双向的绑定导致该弹窗与其他弹窗同时显示的问题

问题描述:最近写代码时遇到了一个问题:点击A弹窗后关闭,继续点击B弹窗,这时会同时弹窗A、B两个弹窗。经过排查后发现在子组件定义时使用了:visible.sync="visible"属性进行双向的数据绑定

<template>
<el-dialog 
    title="试题详情" 
    :visible.sync="visible" 
    width="600px" 
    :close-on-click-modal="false" 
    :show-close="true">
<!-- 其他代码 -->
</template>

同时控制台会出现警告信息,因为在子组件中直接修改了父组件传递的 prop 值。在 Vue 中,不推荐直接修改 prop,而是应该通过事件通知父组件进行修改

将其修改为单向数据传递:visible="visible"并使用@close事件和 handleClose 方法来通知父组件更新值,该情况就会消失。

<template>
<el-dialog 
    title="试题详情" 
    :visible="visible" 
    @close="handleClose"
    width="600px" 
    :close-on-click-modal="false" 
    :show-close="true">
<!-- 其他代码 -->
</template>

<script>

methods: {
    // 添加处理关闭的方法
    handleClose() {
      this.$emit('update:visible', false)
    }
}

</script>

目前并不清楚为什么会出现这样的情况,欢迎各位大佬在评论区答疑解惑o(^▽^)o

http://www.dtcms.com/a/108113.html

相关文章:

  • 【数据结构】双向链表
  • Spring / Spring Boot 的@MapperScan 和 @Repository
  • Java 可变参数全解析:动态参数传递的实践指南
  • 【MySQL基础-20】MySQL条件函数全面解析:提升查询逻辑的利器
  • 区块链技术如何重塑金融衍生品市场?
  • 防火墙(RHCE)
  • 大数据:信息时代的黄金矿藏
  • Leetcode 合集 -- 排列问题 | 递归
  • k8s statefulset pod重启顺序
  • Qt 读写锁QReadWriteLock
  • 前端计算机网络常问问题大全
  • 如何在服务器端配置SSH以允许密码认证
  • html5炫酷图片悬停效果实现详解
  • 【零基础入门unity游戏开发——2D篇】使用SpriteAtlas(精灵图集)打包图集,减少DrawCall提高性能
  • 第四章、Isaacsim在GUI中构建机器人(1): 添加简单对象
  • SQL复杂查询与性能优化:医药行业ERP系统实战指南
  • Linux 基础入门操作 第九章 进程间通信之有名管道
  • el-select+el-tree、el-select+vl-tree实现下拉树形选择
  • Linux中进程与计划任务
  • SpringMvc获取请求数据
  • HTML5 Canvas绘画板项目实战:打造一个功能丰富的在线画板
  • 配置 UOS/deepin 系统远程桌面,实现多台电脑协同办公
  • PHP 8.x:现代Web开发的性能与效率革命
  • 解码 __getitem__ 和 __len__ - 自定义序列的钥匙
  • Prompt攻击是什么
  • Go和Golang语言简介
  • 快速排序与归并排序
  • 【硬件视界10】网络硬件入门:音频设备详解:声卡与音响系统
  • 【区块链 + 可信存证】国链区块链可信存证系统| FISCO BCOS 应用案例
  • 使用Qemu模拟32位ARM系统