aspack001
aspack001
  • 发布:2024-09-01 00:55
  • 更新:2024-09-02 10:57
  • 阅读:106

【报Bug】uni-icons组件没有将事件对象event传递出去

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10 1809

HBuilderX类型: 正式

HBuilderX版本号: 4.24

浏览器平台: Chrome

浏览器版本: 127.0.6533.120

项目创建方式: HBuilderX

操作步骤:

···
<template>
<div>
<uni-icons type="gear" @click="handleClick($event, 'extraParameter')">
Click me
</uni-icons>
</div>
</template>

<script>
export default {
methods: {
handleClick(event, extra) {
console.log('Event:', event); // 这将打印事件对象
console.log('Extra parameter:', extra); // 这将打印额外的参数
}
}
}
</script>

<style scoped>
button {
padding: 10px;
background-color: #007bff;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}

button:hover {  
    background-color: #0056b3;  
}  

</style>
···

预期结果:

event应该有数据

实际结果:

event是undefined

bug描述:

uni-icons如果要阻止事件冒泡要手动调用event的stopPropagation()方法,但这个组件没有将event传递出来,下面代码是uni-icons组件里面的:

methods: {
_onClick() {
this.$emit('click')
}
}

只要改成如下即可:

methods: {
_onClick(event) {
this.$emit('click', event)
}
}

2024-09-01 00:55 负责人:无 分享
已邀请:
DCloud_UNI_yuhe

DCloud_UNI_yuhe

你好,看起来你要传click的事件,但是看起来,click的事件作用并不大,你传这个参数想要做什么功能呢?

  • aspack001 (作者)

    <view @click="addCart"><uni-icons @click.stop="getVersion"><uni-icons></view>

    如果view绑定了click事件, 则uni-icons的click.stop不起作用,事件会冒泡,从而触发view的addCart。

    我的目标是不要触发addCart

    2024-09-13 12:50

要回复问题请先登录注册