【VUE异常】el-popconfirm失效,@confirm事件不生效,点击没有任何反应,刷新页面才能点击

2023-09-15 19:15:00

一、背景描述

项目中遇到一个奇怪的问题,我使用了 el-popconfirm 组件,项目基于VUE,el-popconfirm 包裹住的按钮,操作列有好几个按钮选项,点击其中任何一处按钮之后,再次打开另外的一个 el-popconfirm 包裹住的按钮点击没有任何的反应,刷新浏览器之后才能点击触发相应的事件。当我把 v-if 删除之后,所有按钮都可以正常操作。加上 v-if 来进行显示控制,就需要刷浏览器之后才能触发相应的事件。

如果下图所示:

在这里插入图片描述

二、原因分析

因为我在按钮中使用了 v-if 来进行显示控制,当我在 el-popconfirm 组件上直接使用 v-if=“” 的时候,就会出现这个问题,问题出现在 v-if 与 el-popconfirm 结合。

三、解决方案

3.1 方案一:使用@onConfirm

<el-popconfirm
	title="是否忽略此次警告?"
	@onConfirm="test(scope.row)"
	v-if="row.status === 0"
	>
</el-popconfirm>

注意,此方案不是适合所有情况。有人可能还是不起作用。请继续往下看

3.2 方案二:@confirm与@onConfirm同时使用

单独使用 @confirm 或者 @onConfirm 都没有效果,折中方式如下:

<el-popconfirm
	title="是否忽略此次警告?"
	@confirm="test(scope.row)"
	@onConfirm="test(scope.row)"
	v-if="row.status === 0"
	>
</el-popconfirm>

注意,此方案不是适合所有情况。有人可能还是不起作用。

3.3 方案三:el-popconfirm 标签外包裹一层标签

比如在在 el-popconfirm 标签外 加一层 span 标签,然后把 v-if 语句写在 span 标签上

<span v-if="row.status === 0">
	<el-popconfirm
		title="是否忽略此次警告?"
		@confirm="test(scope.row)"
		@onConfirm="test(scope.row)"
		>
	</el-popconfirm>
</span>

终极解决方案,这个可能适合多数人,不过最后的样式需要微调一下。

本文完结!

更多推荐

Hadoop-Hbase

1.Hbase安装1.1安装zookeeper、hbase解压至/opt/soft,并分别改名配置环境变量并source生效#ZKexportZOOKEEPER_HOME=/opt/soft/zk345exportPATH=$ZOOKEEPER_HOME/bin:$PATH#HBASE_HOMEexportHBASE_

【Java毕设项目】基于SpringBoot+Vue科研管理系统的设计与实现

博主主页:一季春秋博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容:毕业设计(Java项目、小程序等)、简历模板、学习资料、面试题库、技术咨询。🍅文末获取联系🍅精彩专栏推荐订阅👇🏻👇🏻不然下次找不到哟Sp

【业务功能118】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-OpenELB部署及应用

OpenELB部署及应用一、OpenELB介绍网址:openelb.ioOpenELB是一个开源的云原生负载均衡器实现,可以在基于裸金属服务器、边缘以及虚拟化的Kubernetes环境中使用LoadBalancer类型的Service对外暴露服务。OpenELB项目最初由KubeSphere社区发起,目前已作为CNCF

html网页制作期末大作业-网上花店商城html+css+javascript

一、简介html网页制作期末大作业-网上花店商城html+css+javascript8个页面适用学生作业课程设计花店、期末作业花店、毕业设计花店​二、部分网页截图三、部分网页源码1.首页代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>花

前后端分离毕设项目之springboot同城上门喂遛宠物系统(内含文档+源码+教程)

博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌🍅由于篇幅限制,想要获取完整文章或者源码,或者代做,拉到文章底部即可看到个人VX。🍅2023年-2024年最新计算机毕业设计本科选题大全汇总感兴趣的可以先收藏

如何做好测试?(一)不就是功能测试和性能测试?

测试是软件开发过程中的一项重要活动,旨在评估系统或应用程序的质量、功能、性能、安全性等方面。测试通过执行预定义的测试用例、场景或操作,以发现潜在的错误、缺陷、异常行为或性能问题,并提供有关系统是否满足预期要求的信息。测试的目的是验证软件是否满足规格说明书、需求文档或用户期望的功能和性能要求。它有助于提高软件的可靠性、稳

Clock Domain Crossing Design & Verification Techniques Using System Verilog 学习

重要的设计考虑因素要求仔细构建多时钟设计时钟域交叉(CDC)边界。本文详细介绍了一些最新策略和解决跨CDC边界传递一个或多个信号的最佳已知方法。论文中包含与CDC验证相关的技术和一个有趣的2深FIFO用于在时钟域之间传递多个控制信号的设计。虽然设计方法论文中描述的一般可以使用任何HDL来实现,示例如下使用高效的Syst

前端提交规范 ESLint + Prettier + husky + lint-staged

如何统一代码风格,规范提交呢?推荐使用前端规范全家桶ESLint+Prettier+husky+lint-staged。eslint(github.com/eslint/esli…)JavaScript代码检测工具,检测并提示错误或警告信息prettier(github.com/prettier/pr…)代码自动化格式

Linux_9_网络协议和管理

目录1网络基础1.1网络概念1.2常见的网络物理组件1.3网络应用程序1.3.1各种网络应用1.3.2应用程序对网络的要求1.4网络的特征1.4.1速度(带宽)1.4.2网络拓扑1.5网络1.5.1网络准和分层1.5.2开放系统互联`OSI`1.5.3网络的通信过程1.5.3.1数据封装和数据解封1.5.3.2协议数据

基于知识蒸馏的两阶段去雨去雪去雾模型学习记录(一)

前面完成了基于知识蒸馏的去雨去雪去雾模型大的部署与训练,下面则进行代码的学习。使用debug的方式进行代码的学习。首先是网络结构展示:轻易不要打开,这个模型太复杂了。说到底倒不是多复杂,就是层数太多了Net((conv_input):ConvLayer((reflection_pad):ReflectionPad2d(

【数据结构】&&【C++】封装红黑树模拟实现map和set容器

【数据结构】&&【C++】封装红黑树模拟实现map和set容器一.红黑树的完成二.改造红黑树(泛型适配)三.封装map和set的接口四.实现红黑树迭代器(泛型适配)五.封装map和set的迭代器六.解决key不能修改问题七.实现map[]运算符重载一.红黑树的完成在上一篇红黑树的模拟实现中,已经将红黑树实现完毕,这里不

热文推荐