export default {
data() {
return {
test: '123'
}
},
onLoad() {
this.test = undefined
},
methods: {}
}
- 发布:2024-07-23 20:04
- 更新:2024-07-24 17:47
- 阅读:261
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
手机系统: Android
手机系统版本号: Android 13
手机厂商: 小米
手机机型: 小米14pro
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: CLI
CLI版本号: 4.23
示例代码:
操作步骤:
见代码
见代码
预期结果:
将data里的值变为undefined的时候,小程序data中应该移出相应字段
将data里的值变为undefined的时候,小程序data中应该移出相应字段
实际结果:
将data里的值变为undefined的时候,小程序data中相应字段的值还是上一次的值
将data里的值变为undefined的时候,小程序data中相应字段的值还是上一次的值
bug描述:
data中的值设置为undefined之后,小程序中的值没有变
d***@junrunrenli.com (作者)
刚刚测试了一下手动设置,我把原来是布尔类型的值设置为undefined, 也是没有更新到小程序data
if (e.index === 0) {
this.isOrgLogs = true
} else {
//没有生效,还是为0时设置的true
this.isOrgLogs = undefined
}
d***@junrunrenli.com (作者)
@DCloud_UNI_yuhe
我现在下班了,没法发代码
不用computed也能复现
data中的值
{
isOrgLogs:true
}
methods中修改isOrgLogs为undefined,小程序中data里面的isOrgLogs还是true,按理说设置为undefined之后应该从小程序data中移除这个字段
d***@junrunrenli.com (作者)
示例如下
export default {
data() {
return {
test: '123'
}
},
onLoad() {
this.test = undefined
},
methods: {}
}
代码已经将test 设置为undefined了,小程序data中这个字段还在是为什么
d***@junrunrenli.com (作者)
官方有没有在看,急急急啊
-
回复 d***@junrunrenli.com: uniapp由于要适配不同平台,因此并不能保证所有的特性都与vue一致,这种方法是我们不推荐的方法,微信小程序由于兼容问题,会有各种各样的bug,之前有一个类似的问题,也是undefined的问题,最好看的是微信小程序的问题。
2024-07-24 13:45
-
d***@junrunrenli.com (作者)
回复 DCloud_UNI_yuhe: 不能将已有数据设置成undefined?这影响很大呀,有时候服务器没有返回响应数据,就会变成undefined
2024-07-24 13:55
-
d***@junrunrenli.com (作者)
回复 DCloud_UNI_yuhe: 而且我手动调用this.$mp.page.setData({
test: undefined
})是没问题的2024-07-24 13:56
d***@junrunrenli.com (作者)
再次测试了数字,字符串,都没有把undefined同步到小程序data,按理说应该要在小程序data里删掉为undefined的字段
2024-07-23 20:27
d***@junrunrenli.com (作者)
变更为undefined后再手动调用this.$mp.page.setData一次,可以从小程序data中删除该字段
2024-07-23 20:33
DCloud_UNI_yuhe
回复 d***@junrunrenli.com: 你好,我这看着你给出的示例有点不大确定你想如何改变computed,你能发一个完整的测试项目吗?
2024-07-23 20:38
d***@junrunrenli.com (作者)
回复 DCloud_UNI_yuhe: 不用computed,正常设置data也有问题
2024-07-23 21:23