Javim
Javim
  • 发布:2021-10-08 09:53
  • 更新:2022-06-04 02:02
  • 阅读:740

【报Bug】小程序v-for动态绑定对象,对象修改后,页面数据有残留的key,小程序开发工具里看appData没有刷新

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.2.9

第三方开发者工具版本号: 1.05.2108150

基础库版本号: 2.19.6

项目创建方式: HBuilderX

示例代码:
    <view class="page-container">  
        <button @click="filtingData">点击切换对象</button>  
        <block v-for="(cuItem,cuKey) in filtedData" :key="cuKey">  
            <view>{{cuKey}}</view>  
        </block>  
    </view>  
</template>  
<script>  
    export default {  
        data() {  
            return {  
                filtedData: {  
                    a: 'a'  
                },  
                a: false,  
                b: {  
                    b: 'b'  
                },  
                c: {  
                    c: 'c'  
                }  
            }  
        },  
        methods: {  
            filtingData() {  
                this.a = !this.a;  
                let taskList = {}  
                if (this.a) {  
                    taskList = this.b  
                } else {  
                    taskList = this.c  
                }  
                this.filtedData = taskList;  
                console.log('filtedData',this.filtedData);  
            }  
        }  

    }  
</script>  

操作步骤:

1、v-for遍历对象绑定数据到页面
2、通过按键动态对变对象

预期结果:

页面数据也要跟着改变

实际结果:

动态改变对象后,在appData里看到对象还保留了上一次的属性,对应的值都是null,页面也把上一次的数据渲染出来了

bug描述:

v-for动态绑定对象,对象修改后,页面数据有残留的key,小程序开发工具里看appData没有刷新,需要用$nextTick加$forceUpdate()才能刷新,h5和app则正常

2021-10-08 09:53 负责人:无 分享
已邀请:
DCloud_UNI_LXH

DCloud_UNI_LXH

升级 HBuilder X 后重新编译

  • Javim (作者)

    好的,谢谢,我试一下!

    2021-10-14 14:46

  • Javim (作者)

    3.2.9版本试了,也一样不可以

    2021-10-14 14:58

Javim

Javim (作者)

3.2.9版本也是一样!,动态改变后还是会有残留的 key

r***@163.com

r***@163.com

请问这个问题解决了吗?

zzdev

zzdev

要不试试 this.$set 改数据看看

要回复问题请先登录注册