- 发布:2022-07-01 22:56
- 更新:2022-09-09 00:53
- 阅读:455
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows11
HBuilderX类型: 正式
HBuilderX版本号: 3.4.18
手机系统: 全部
手机厂商: 苹果
手机机型: P30
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
示例代码:
组件的@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上出现。
组件的@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>
<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": {
"opentype": "",
"url": "/pages/dspreport/newDspreport"
},
"id": "",
"offsetLeft": 1,
"offsetTop": 28
};
实际结果:
{
"dataset": {},
"id": "",
"offsetLeft": 181,
"offsetTop": 112
}
{
"dataset": {},
"id": "",
"offsetLeft": 181,
"offsetTop": 112
}
bug描述:
手机app中组件的click事件中e.currenttarget.dataset为空,但是在h5的上是正常的,在3.4.7版本中是正常的,3.4.15和3.4.18上都存在这个问题。
2 个回复
自由鸟007 (作者) - 一位无名的开发者......
没有人遇到这个问题吗
姚黎明
我也遇到过, 现在发现了, 希望官方修复