申庭教育
申庭教育
  • 发布:2025-04-08 17:28
  • 更新:2025-04-16 22:21
  • 阅读:255

【报Bug】鸿蒙系统 将数组数据存入storage,后取出,数据的push和splice方法失效

分类:鸿蒙Next

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: mac14.1.1 (23B81)

HBuilderX类型: 正式

HBuilderX版本号: 4.45

手机系统: HarmonyOS NEXT

手机系统版本号: HarmonyOS NEXT Developer Beta2

手机厂商: 模拟器

手机机型: 华为模拟器

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<template>
<view class="container">

</view>  

</template>

<script setup>
import {
ref
} from 'vue';
let Cache = {
practice: [{
curId: 0,
node_id: 1,
lists: [{
answer: 'A',
exam_id: 1,
messages: []
},
{
answer: 'B',
exam_id: 2,
messages: []
}
]
}],
practice1: []
}
uni.setStorageSync("exam3Cache", Cache)
setTimeout(() => {
// let exam3Cache = JSON.parse(JSON.stringify(uni.getStorageSync("exam3Cache")))
let exam3Cache = uni.getStorageSync("exam3Cache")
let flog = exam3Cache.practice.some((item, index) => {
if (item.node_id == 1) { //存在这个练习 覆盖
item.lists.push({
answer: 'C',
exam_id: 3,
messages: []
})
console.log("222", item.lists);
}
return item.node_id == 1
})
}, 2000)
</script>

<style>
.container {
padding: 20px;
font-size: 14px;
line-height: 24px;
}
</style>

操作步骤:

粘贴我的代码,运行鸿蒙复现

预期结果:

item.lists.push({
answer: 'C',
exam_id: 3,
messages: []
}) 成功

实际结果:

item.lists.push({
answer: 'C',
exam_id: 3,
messages: []
}) 失效

bug描述:

鸿蒙系统 将数组数据存入storage,后取出,数据的push和splice方法失效

2025-04-08 17:28 负责人:DCloud_uniCloud_WYQ 分享
已邀请:

最佳回复

DCloud

DCloud

HBuilderX 4.62.2025041603-alpha 已修复。

DCloud_UNI_OttoJi

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

如之前沟通,目前需要临时加一个条件编译,在 app-harmony 平台额外 parse 一下,感谢反馈。

  • 申庭教育 (作者)

    加这个parse可以的

    2025-04-09 09:23

  • 申庭教育 (作者)

    因为项目使用缓存的地方太多,如果能修复我就不用改。

    2025-04-09 09:24

要回复问题请先登录注册