【VUE】el-popconfirm失效,点击没有任何反应,刷新页面才能点击

项目场景:

项目中遇到一个奇怪的问题,我使用了el-popconfirm组件,项目基于VUE脚手架,当页面设置了缓存之后,跳转到当前界面,el-popconfirm包裹住的按钮点击没有任何的反应,刷新浏览器之后才能点击触发相应的事件。


原因分析:

因为我在按钮中使用了v-if来进行显示控制,当我直接使用v-if=“”的时候,出现这个问题,但是当在el-popover 或者 el-popconfirm 里面同样也加上 v-if 的判断的时候,问题解决。

解决方案:

在el-popover里面加上v-if判断,el-popconfirm同理

变化前

<el-popover placement="top" width="160" v-model="visible">
 <p>这是一段内容这是一段内容确定删除吗?</p> 
 <div style="text-align: right; margin: 0"> 
 <el-button size="mini" type="text" @click="visible = false">取消</el-button> 
 <el-button type="primary" size="mini" @click="visible = false">确定</el-button> 
 </div>
  <el-button slot="reference" v-if="isDelete">删除</el-button>
 </el-popover> 

变化后

<el-popover placement="top" width="160" v-model="visible" v-if="isDelete">
 <p>这是一段内容这是一段内容确定删除吗?</p> 
 <div style="text-align: right; margin: 0"> 
 <el-button size="mini" type="text" @click="visible = false">取消</el-button> 
 <el-button type="primary" size="mini" @click="visible = false">确定</el-button> 
 </div>
  <el-button slot="reference" v-if="isDelete">删除</el-button>
 </el-popover> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要将el-popconfirm放入el-popover中使用,可以按照以下步骤进行操作: 1. 首先,在需要使用el-popover的地方添加el-popover组件,并设置相应的属性,例如触发方式、内容等。 2. 在el-popover的内容中,添加el-popconfirm组件,并设置相应的属性,例如标题、确认按钮文本等。 3. 在el-popconfirm中,可以使用el-button等组件作为触发按钮,点击触发按钮时会显示确认框。 4. 在确认按钮的点击事件中,可以执行相应的逻辑操作。 下面是一个示例代码,演示了如何将el-popconfirm放入el-popover中使用: ```html <template> <div> <el-popover placement="top" title="Popover Title" trigger="click" content="Popover Content" > <el-button type="primary">Click me</el-button> <template slot="reference"> <el-popconfirm title="Are you sure to delete?" confirm-button-text="Yes" cancel-button-text="No" @confirm="handleConfirm" > <el-button type="danger">Delete</el-button> </el-popconfirm> </template> </el-popover> </div> </template> <script> export default { methods: { handleConfirm() { // 执行删除操作 console.log("Delete confirmed"); }, }, }; </script> ``` 在上述示例中,点击"Click me"按钮会触发el-popover的显示,同时在popover中显示了一个"Delete"按钮。当点击"Delete"按钮时,会弹出确认框,点击确认按钮会执行`handleConfirm`方法,输出"Delete confirmed"。 希望以上信息能够帮助到你!如果有任何疑问,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值