Architecture
Architecture
  • 发布:2022-03-09 17:55
  • 更新:2022-03-28 11:10
  • 阅读:399

【报Bug】swiper组件特定环境下显示空白BUG,NVUE+VUE2

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.3.11

手机系统: Android

手机系统版本号: Android 11

手机厂商: 小米

手机机型: 小米6

页面类型: nvue

vue版本: vue2

nvue编译模式: fast

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<view style="width:100rpx;height:30rpx;" tap="c(0)">1项</view>  
<view style="width:100rpx;height:30rpx;"  tap="c(1)">2项</view>  
<view style="width:100rpx;height:30rpx;"  tap="c(2)">3项</view>  
<swiper circular="true" :current="Page"  render-whole="true" style="flex: 1;">  
<swiper-item>  
<view style="width:100rpx;height:100rpx;background-color:#000000"></view>  
</swiper-item>  
<swiper-item>  
<view style="width:100rpx;height:100rpx;background-color:#666666"></view>  
</swiper-item>  
<swiper-item>  
<view style="width:100rpx;height:100rpx;background-color:#999999"></view>  
</swiper-item>  
</swiper>  
    export default {  
        data() {  
            return {  
                              Page:1  
            }  
        },  
        methods: {  
                      c(n){  
                         this.Page=n;  
                       }  
        }  
    }

操作步骤:

直接按照代码示例复现项目即可。这个应该是一个通用BUG。在任何swiper里都能够复现。
只要通过methods方式赋值变量,通过点击TAP,直接0-2跳转,即会显示白板空白。手动滑动无任何问题。而且将circular="true"设置为false也会解决问题,但是有的项目还是需要circular="true"的。

预期结果:

不显示白板,解决BUG。

实际结果:

只有3列swiper-item的时候才会有这个BUG。4、5、6列就不会有BUG了。

bug描述:

swiper组件,开启circular="true",如果只有3列swiper-item,那么就会发生,current=0,直接跳转到current=2,则2的页面显示空白。如果一个一个点击赋值current=1再点击current=2,就显示正常。
而且这个BUG,只出现在3列情况下。4列以上,都是正常的。
使用官方的新闻/资讯模板,就可以直接演示。将swiper的数据列表只显示3列,则官方的模板也会重现BUG。

2022-03-09 17:55 负责人:无 分享
已邀请:
DCloud_UNI_HDX

DCloud_UNI_HDX

bug已确认

DCloud_Android_ST

DCloud_Android_ST

HX3.4.3+版本已优化该问题

  • Architecture (作者)

    不对吧。我试着运行了一下。这个优化完,有的时候会0-2来回跳N次闪屏。感觉好像还不如不优化。其实之前,没优化之前,我自己用代码优化也解决了问题。但是,来回跳N次闪屏,感觉还不如不优化,直接用我的优化方案得了。但是现在加上闪屏BUG,好像还不如不优化啊。

    2022-03-28 15:37

  • Architecture (作者)

    您测试一下看看。我用小米6真机测试的。TAP点击0,然后点击2,多点几次,会有自动来回迅速0202020显示N次的闪屏BUG。感觉好像是您那边的优化只是快速重新切换了0和2,切换了几次而已。这个绝对不成熟。建议更正,或者干脆【取消优化】,我这边已经自己手工优化,而且优化效果非常满意,无缝衔接无BUG。所以,如果不能够彻底解决问题,HX3.4.3也可以不需要优化,可不更新到正式版。

    2022-03-28 15:43

  • DCloud_Android_ST

    回复 Architecture: 你附件提供下你的测试demo 我们在验证下看看

    2022-03-28 15:46

  • Architecture (作者)

    回复 DCloud_Android_ST: 我这边也再测试看看。我明白闪屏问题了,我也是用0,1,2顺序的方式优化的,只是您那边将功能直接集成了。加上我的代码,两者产生了冲突闪屏。但是我还需要再多测试看一下。您那边也需要看一下,如果在数据量庞大的情况下,会不会0,1,2切换的时候速度变慢导致资源型闪屏。因为我测试发现,如果swiper里内容少,几乎看不到1,但是如果是长列表,会看到1,不知道性能低的手机,或者数据庞大一些会有什么效果。我也再测试一下,您那边也关注一下问题。非常感谢。

    2022-03-28 16:31

  • Architecture (作者)

    回复 DCloud_Android_ST: 不过现在3.4.3-alpha还有个问题,就是我之前夜神模拟器在正式版运行测试都好好的,用了alpha版本后发现Android设备[127.0.0.1:62001]已失去连接,无法模拟器运行了。

    2022-03-28 16:32

  • DCloud_Android_ST

    回复 Architecture: 是 目前问题就是3个tiem时会出现问题 所以做了一个有序跳转优化问题。如果你测试还发现问题可以提供demo我们再看看。 无法连接模拟器这事你可以重启下电脑试试。如果一直不能连接可以发新的ask。

    2022-03-28 17:04

小枫叶

小枫叶 - 外包接单加v:wlmk1234567 注明来意

只有安卓11有么,我这边正常切换啊

  • Architecture (作者)

    不会的,我这边虚拟机和手机都不行。而且直接用官方的新闻资讯模板拿来现成用也不行。你那边要是行的话,发一下代码看看?或者你用安卓9测试一下?

    2022-03-10 03:06

  • 小枫叶

    回复 Architecture: 明天我重新测试一下

    2022-03-11 22:05

小枫叶

小枫叶 - 外包接单加v:wlmk1234567 注明来意

已经复现到了

Architecture

Architecture (作者) - 潜心钻研始于1999年,成长道路无止境。cgday@qq.com

问题已复现,请关注。

要回复问题请先登录注册