Vue3项目二维数组更改了数组对象某一个值,数据变了,页面数据没有同步问题




 


//
添加到收藏 const toggleWishlist = async (product: Product, group: any, groupIndex: number): Promise<void> => { try { // 根据当前状态决定是添加还是删除收藏 const res = product.is_favorited === 1 ? await deleteFavorite(String(product.id)) : await addFavorite(String(product.id)); if (res.code === 200) { // 更新UI状态 if (product.is_favorited === 1) { product.is_favorited = 0; } else { product.is_favorited = 1; } // 显示成功消息 const action = product.is_favorited === 1 ? 'added to' : 'removed from'; message.success(`Item ${action} wishlist successfully`); // 更新本地存储中的收藏列表 let collectList = Session.get('collectList'); if (!collectList) { collectList = []; } if (product.is_favorited === 1) { // 添加到收藏列表 if (Array.isArray(collectList)) { // 确保不重复添加 if (!collectList.some((item: any) => item.goods_id === product.id)) { collectList.push({ goods_id: product.id }); } } else if (collectList.data && Array.isArray(collectList.data)) { // 如果collectList有data属性且是数组 if (!collectList.data.some((item: any) => item.goods_id === product.id)) { collectList.data.push({ goods_id: product.id }); } } else { // 如果collectList既不是数组也没有data属性,则初始化为数组 collectList = [{ goods_id: product.id }]; } } else { // 从收藏列表中移除 if (Array.isArray(collectList)) { collectList = collectList.filter((item: any) => item.goods_id !== product.id); } else if (collectList.data && Array.isArray(collectList.data)) { collectList.data = collectList.data.filter((item: any) => item.goods_id !== product.id); } } // 保存更新后的收藏列表到sessionStorage Session.set('collectList', collectList); // 更新所有产品组中的相同产品 productGroups.value.forEach(groupItems => { groupItems.forEach((item: any) => { if (item.id === product.id) { item.is_favorited = product.is_favorited; } }); }); // 强制组件重新渲染 const currentIndex = currentSlide.value; productGroups.value = [...productGroups.value]; } else if (res.code === 401) { // 未登录处理 message.error('Please log in first.'); } } catch (error) { console.error('Failed to update favorite status:', error); message.error('Operation failed, please try again later'); } };

 

 

posted @ 2025-05-30 09:46  遇你温柔如初  阅读(97)  评论(0)    收藏  举报