1***@qq.com
1***@qq.com
  • 发布:2020-08-18 21:18
  • 更新:2021-03-19 11:42
  • 阅读:792

【报Bug】swiper@transition事件在安卓获取的值不正常

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: Alpha

HBuilderX版本号: 2.8.6

手机系统: Android

手机系统版本号: Android 7.1.1

手机厂商: 模拟器

手机机型: 华为

页面类型: nvue

打包方式: 离线

项目创建方式: HBuilderX

示例代码:
<template>  
    <view>  
        <scroll-view class="grace-nav-bar">  
        <view class="tabs-container-view">  
            <view class="nav-item" v-for="(item, index) in getTabs" :key="index" @tap="navchang(index)">  
                <text class="nav-item-title grace-border">{{item}}</text>  
            </view>  
            <view class="nav-active-line-wrap"></view>  
        </view>  
        </scroll-view>  
        <view style="padding-top: 50rpx;">  
            <swiper :style="{height:mainHeight+'px'}" :current="swiperCurrent" @change="change" @transition="transition" @animationfinish="animationfinish">  
                <swiper-item v-for="(item1,index1) in getTabs" :key="index1">  
                    <view class="dome">请点击上面导航栏测试,看控制台数值</view>  
                </swiper-item>  
            </swiper>  
        </view>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                swiperCurrent:0,  
                mainHeight:600,  
                getTabs: ['导航1', '导航2', '导航3','导航4']  
            }  
        },  
        methods: {  
            navchang(e){this.swiperCurrent=e},  
            change(e){},  
            transition({ detail: { dx } }){  
                console.log(dx)  
            },  
            animationfinish({ detail: { current } }){}  
        }  
    }  
</script>  

<style>  
.dome{width: 750rpx;height: 2000rpx;background-color: #fafafa;}  
.grace-nav-bar{flex-direction:row;}  
.nav-item{flex-direction:column;}  
.nav-item-title{width:100%;}  
.nav-active{}  
.nav-active-line-wrap{position: absolute;bottom: 0; opacity: 1;}  
.nav-active-line{margin-top:5rpx;}  
.grace-nav-center{justify-content:center; text-align:center;}  
.tabs-container-view{position: relative;flex-direction: row;transition-property: background-color;transition-duration: .2s;}  
</style>  

操作步骤:

transition({ detail: { dx } }){console.log(dx)},

预期结果:

应该跟苹果获取到的值是一样的

实际结果:

跟苹果获取到的值不一样

bug描述:

IOS是正常的
安卓就不正常

2020-08-18 21:18 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com (作者) - BS

有没有人跟我情况一样的?

jxtian

jxtian

为了快速定位问题,请提供一下可复现的示例工程

  • 1***@qq.com (作者)

    在IOS上点击第四个导航 它能获取到第一个到第四个的总距离,在安卓上点击第四个导航只能获取第一个到第二个的距离

    2020-08-19 18:05

  • 1***@qq.com (作者)

    在嘛

    2020-08-21 09:03

1***@qq.com

1***@qq.com (作者) - BS

先用苹果测试,再用安卓测试。获取到的数值不一样

1***@qq.com

1***@qq.com (作者) - BS

顶顶顶顶

DCloud_uniAD_HDX

DCloud_uniAD_HDX

设备宽度决定,两个设备的宽度是否相同?

  • 1***@qq.com (作者)

    是的

    2020-08-21 20:36

  • 1***@qq.com (作者)

    是直接点击导航移动到指定下标位置,安卓只能获取1-2的距离,超过2个就获取不到。

    2020-08-22 09:16

  • 1***@qq.com (作者)

    在设备同样是750情况下,IOS能获取到导航栏第一个到最后一个距离,安卓只能获取第一个到第二个距离.

    2020-08-23 11:53

1***@qq.com

1***@qq.com (作者) - BS

顶顶顶顶

1***@qq.com

1***@qq.com (作者) - BS

沙发沙发

小陈的私人助理

小陈的私人助理

您好,请问解决了吗

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