微信小程序 跳转界面,选择货物之后,返回上一页带参数并判断参数是否存在

需求

当刚进来时选择货物,跳转到选择货物界面进行货物选择,如果货物重复,不再新增货物,如果不存在,则新增
prevPage.setData()用于在页面之间传递数据。它将数据设置到上一个页面(即prevPage)的data对象中,然后可以在上一个页面中通过data属性访问该数据。这种方式适用于在页面之间传递少量数据。
wx.setStorage和wx.setStorageSync用于在本地存储中保存数据。它们可以将数据存储在微信小程序的本地缓存中,以便在小程序的不同页面中进行读取和使用。这种方式适用于需要在不同页面之间长期存储数据的情况。

选择货物


选择完毕之后

js 复制代码
// main.js
 /**
     * 上一个页面的初始数据
     */
    data: {
        addGoods: [],
        }
        
   /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
        let that = this;
        // 选择了产品信息
        if (that.data.addGoods && that.data.goods.length == 0) {
            that.setData({
                goods: that.data.addGoods
            })
        } else if (that.data.addGoods.length > 0 && that.data.goods.length > 0) {
            for (let j = 0; j < that.data.addGoods.length; j++) {
                // 检查新数组中是否已经包含具有相同id的对象
                let existingElement = that.data.goods.find(item => item.id === that.data.addGoods[j].id);
                if (!existingElement) {
                    that.data.goods.push(that.data.addGoods[j]);
                }
            }
            that.setData({
                goods:that.data.goods
            })
        }
    },     
js 复制代码
   //child.js 在需要进行传值的地方进行setData
   
  let pages = getCurrentPages(); // 获取页面栈  好处在于 刷新比缓存及时
        let currPage = pages[pages.length - 1]; // 当前页面
        let prevPage = pages[pages.length - 2]; // 上一个页面
        prevPage.setData({
            // 要设置的值
            addGoods: arr
        })

注意:在使用setData()方法传递数据给父页面时,需要保证父页面已经加载完成,否则可能会出现数据传递不成功的情况。

相关推荐
计算机毕设指导67 分钟前
基于微信小程序的电子数据取证知识测试系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij idea
毕设源码-钟学长12 分钟前
【开题答辩全过程】以 基于微信小程序的汉服配饰交流平台为例,包含答辩的问题和答案
微信小程序·小程序
蓉妹妹37 分钟前
React微信小程序自定义tabbar
前端·react.js·微信小程序
2501_915918411 小时前
iOS 应用如何防止破解?从逆向链路还原攻击者视角,构建完整的反破解工程实践体系
android·macos·ios·小程序·uni-app·cocoa·iphone
2501_916007471 小时前
iOS 应用上架流程的工程化拆解 从签名体系到提交审核的全过程管控
android·ios·小程序·https·uni-app·iphone·webview
2501_915918412 小时前
构建可靠的 iOS 日志导出体系,从真机日志到系统行为的多工具协同实践
android·ios·小程序·https·uni-app·iphone·webview
#微爱帮#2 小时前
监狱写信寄信工具评测:微爱帮 vs 寄信啦 vs 蓝信了:监狱寄信的“安全之战”背后,藏着三个残酷真相
安全·小程序·监狱写信·监狱服刑·监狱·服刑人员
桐溪漂流2 小时前
微信小程序的几个实用小知识
微信小程序·小程序·notepad++
说私域2 小时前
基于开源AI智能名片链动2+1模式S2B2C商城小程序的C端用户运营研究
人工智能·小程序·用户运营
wx_ywyy67982 小时前
医疗小程序合规指南:互联网医院资质、诊疗范围界定与数据安全合规
小程序·医疗小程序·小程序开发·小程序制作·医疗小程序开发·医疗小程序制作·医疗系统