2***@qq.com
2***@qq.com
  • 发布:2025-03-11 16:42
  • 更新:2025-04-04 08:07
  • 阅读:139

【报Bug】安卓app环境下this.$nextTick回调不执行

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10企业版1903(18362.30)

HBuilderX类型: 正式

HBuilderX版本号: 4.45

手机系统: Android

手机系统版本号: Android 12

手机厂商: 华为

手机机型: 联想拯救者y70(Lenovo L71091)

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<template>  
    <view>  
        <button size="mini" @click="fn1">按钮1</button>  
        <button size="mini" @click="fn2">按钮2</button>  

        <view v-for="(item, index) in list" :key="index">{{ item }}</view>  
        {{ num }}  
    </view>  
</template>  

<script>  
export default {  
    data() {  
        return {  
            list: ['aaa'],  
            num: 111  
        };  
    },  
    methods: {  
        fn1() {  
            console.log('fn1_start');  
            this.list = ['aaa'];  
            this.$nextTick(() => {  
                console.log('fn1_end');  
            });  
        },  
        fn2() {  
            console.log('fn2_start');  
            this.num = 111;  
            this.$nextTick(() => {  
                console.log('fn2_end');  
            });  
        }  
    }  
};  
</script>  

<style scoped lang="scss"></style>  

操作步骤:

点击按钮1后fn1函数执行, 控制台只打印 fn1_start $nextTick里回调没有执行 fn1_end 未打印
在修改data里的数组类型数据时,当新数据与老数据一致时$nextTick回调不执行,原始类型数据是正常的

预期结果:

点击按钮1后fn1函数执行, 控制台打印 fn1_start 再执行 $nextTick 回调函数 fn1_end 打印出来

实际结果:

$nextTick里回调没有执行 fn1_end 未打印

bug描述:

安卓app环境下this.$nextTick回调不执行

2025-03-11 16:42 负责人:DCloud_UNI_OttoJi 分享
已邀请:

最佳回复

DCloud

DCloud

HBuilderX 4.61.2025040322-alpha 已修复。

DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

感谢反馈,复现了此问题。

vue2+app 会出现此问题,遗漏了数据无变化时候执行回调的逻辑。下个 alpha 会修复此问题。

要回复问题请先登录注册