自由鸟007
自由鸟007
  • 发布:2022-07-01 22:56
  • 更新:2022-09-09 00:53
  • 阅读:455

【报Bug】3.4.18组件的e.currenttarget.dataset没有值

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.4.18

手机系统: 全部

手机厂商: 苹果

手机机型: P30

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

华为鸿蒙2.0

示例代码:

组件的@tap和@click事件中,函数如下:
onClick(e) {
let url = e.currentTarget.dataset.url;
let type = e.currentTarget.dataset.opentype;
if (type == 'tabbar') {
uni.switchTab({
url: url
});
} else if (type == 'back') {
uni.navigateBack({
delta: 1
});
} else {
uni.navigateTo({
url: url,
fail(e) {
uni.showModal({
title: '错误提示',
content: '该业务未找到!',
showCancel: false
});
}
});
}
console.log(e);
}
期望的结果:{
"dataset": {
"opentype": "",
"url": "/pages/dspreport/newDspreport"
},
"id": "",
"offsetLeft": 1,
"offsetTop": 28
};
实际结果:
{
"dataset": {},
"id": "",
"offsetLeft": 181,
"offsetTop": 112
}
这个问题只在app上出现。

操作步骤:

<template>
<view :class="['grid-item', '' + Col, '' + Order, Border]" :hover-class="hoverClass" :hover-start-time="200" @tap="onClick" :data-opentype="type" :data-url="url">
<view class="sub">
<view v-if="dot && badge == false" class="dot"></view>
<view v-if="badge && badge > 0" class="badge">{{ badge }}</view>

        <view :class="iconFont != '' ? ['o-' + iconFont] : iconImg != '' ? 'o-img' : ''"><image v-if="iconImg != ''" :src="iconImg" mode="aspectFit"></image></view>  

        <view class="o-text">{{ text }}</view>  
    </view>  
</view>  

</template>

预期结果:

"dataset": {
"opentype": "",
"url": "/pages/dspreport/newDspreport"
},
"id": "",
"offsetLeft": 1,
"offsetTop": 28
};

实际结果:

{
"dataset": {},
"id": "",
"offsetLeft": 181,
"offsetTop": 112
}

bug描述:

手机app中组件的click事件中e.currenttarget.dataset为空,但是在h5的上是正常的,在3.4.7版本中是正常的,3.4.15和3.4.18上都存在这个问题。

2022-07-01 22:56 负责人:无 分享
已邀请:
自由鸟007

自由鸟007 (作者) - 一位无名的开发者......

没有人遇到这个问题吗

姚黎明

姚黎明

我也遇到过, 现在发现了, 希望官方修复

该问题目前已经被锁定, 无法添加新回复