uni-app 当data里的数据初始值为' '(也就是空)时,赋值0赋值不上去 官方测试可使用小程序测试该BUG

uni-app 当data里的数据初始值为’ '(也就是空)时,赋值0赋值不上去 官方测试可使用小程序测试该BUG

项目信息 详情
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 windows10
HBuilderX类型 正式
HBuilderX版本 3.1.18
手机系统 Android
手机系统版本 Android 11
手机厂商 华为
手机机型 华为
页面类型 vue
打包方式 云端
项目创建方式 HBuilderX

示例代码:

随意小程序都能简单测试,data里的数据初始值为 ‘ ‘时,赋值0赋值不上去

操作步骤:

随意小程序都能简单测试,data里的数据初始值为 ‘ ‘时,赋值0赋值不上去

预期结果:

随意小程序都能简单测试,data里的数据初始值为 ‘ ‘时,赋值0赋值不上去

实际结果:

随意小程序都能简单测试,data里的数据初始值为 ‘ ‘时,赋值0赋值不上去

bug描述:

随意小程序都能简单测试,data里的数据初始值为 ‘ ‘时,赋值0赋值不上去


更多关于uni-app 当data里的数据初始值为' '(也就是空)时,赋值0赋值不上去 官方测试可使用小程序测试该BUG的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

已确认此问题,后续会讨论修改

更多关于uni-app 当data里的数据初始值为' '(也就是空)时,赋值0赋值不上去 官方测试可使用小程序测试该BUG的实战教程也可以访问 https://www.itying.com/category-93-b0.html


修改了,麻烦回复提示下。

修改了么

回复 小徐同志: 改了的,早就改了

回复 DCloud_UNI_LXH:收到

这个问题确实存在,是uni-app框架在小程序平台上的一个已知问题。

当data中的变量初始值为空字符串时,后续赋值为0会被框架的响应式系统忽略。这是因为框架内部的数据对比机制将空字符串和0都视为"假值",导致误判数据未发生变化而跳过更新。

解决方案:

  1. 初始化时直接赋值为0
data() {
  return {
    count: 0  // 而不是 ''
  }
}
  1. 使用null或undefined作为初始值
data() {
  return {
    count: null
  }
}
  1. 使用this.$set强制更新
this.$set(this, 'count', 0)
  1. 临时变量中转
let temp = 0
this.count = temp
回到顶部