当前位置: 首页 > news >正文

uniapp-商城-58-后台 新增商品(属性子级的添加和更新)

        前面对父级属性的添加进行了分析,这里再来继续做属性子级的数据添加,包含页面逻辑以及后台处理的逻辑。当然这里还是在前面的云对象的方式进行的。

        本文介绍了在云对象green-mall-sku中添加子级属性的实现过程。首先,通过updateChild接口处理子级数据的添加,使用uniCloud.importObject导入云对象。在页面逻辑中,通过clickAddAttr函数判断是添加父级属性还是子级属性,并在dialogConfirm函数中处理确认操作。对于子级属性,通过updateChild接口将数据推送到数据库,并更新页面显示。云对象中的updateChild函数直接接受参数,并使用db.command执行push操作,确保数据正确更新。整个过程展示了前后端逻辑的协同工作,实现了嵌套数据的动态添加。

1、子级数据 界面情况回顾

属性显示其实是个一嵌套的数据显示。

2、云对象

依然是使用前面创建的 云对象 green-mall-sku

创建的是updatechild 接口。

3、导入云对象,前面已经完成

    const skuCloudObj = uniCloud.importObject("green-mall-sku", {
        "customUI": true
    });

4、数据的点击添加

前面也已经讲过这里的代码,但是这里需要注意的是

                  let obj = {
                        name: e,
                        checked: true
                    }
                    let id = this.skuArr[this.attrIndex]._id;
                    let res = await skuCloudObj.updateChild(id, obj)
                    this.skuArr[this.attrIndex].children.push(obj)

这一段代码中,this.attrIndex  是父级 index ,子级的页面中定义的是cidx 。

另外还有一个云对象中的函数 也是可以接受参数的。

一般是都是预处理来接受,但是参数多了也可以通过这函数接口自己来接受。

如这里的      let res = await skuCloudObj.updateChild(id, obj)

云对象中:

async updateChild(id,obj){
        obj.checked=false
        return await db.collection("green-mall-sku").doc(id).update({            
            children:cmd.push([obj])
        })
    }

也是直接接受的参数。

还需要注意:

云对象 中,对于数据库中数据的修改,可以使用db.command,执行push操作。

			//点击添加属性 index 存在就是嵌套下 父类属性的子类选项 ,不存在就是添加父类属性clickAddAttr(index = null) {if (index == null) {this.addAttrType = "parent"this.attrIndex = null} else {this.addAttrType = "child"this.attrIndex = index}this.$refs.addAttrPop.open();},//添加属性弹窗的确认按钮async dialogConfirm(e) {if (!e) return;if (this.addAttrType == "parent") {let obj = {skuName: e,checked: true,children: []}let res = await skuCloudObj.add(obj)obj._id = res.id;this.skuArr.push(obj)//向数组中添加一个元素,就弹窗的确认按钮} else if (this.addAttrType == "child") {let obj = {name: e,checked: true}let id = this.skuArr[this.attrIndex]._id;let res = await skuCloudObj.updateChild(id, obj)this.skuArr[this.attrIndex].children.push(obj)}},

http://www.xdnf.cn/news/476443.html

相关文章:

  • Axure设计的“广东省网络信息化大数据平台”数据可视化大屏
  • 基于大模型预测的脑出血全流程诊疗技术方案
  • IDEA:程序编译报错:java: Compilation failed: internal java compiler error
  • Java 使用 PDFBox 提取 PDF 文本并统计关键词出现次数(附Demo)
  • uniapp-商城-59-后台 新增商品(属性的选中,进行过滤展示,filter,some,every和map)
  • 深入解析VPN技术原理:安全网络的护航者
  • 金融问答系统:如何用大语言模型打造高精度合规的金融知识引擎
  • math toolkit for real-time development读书笔记一-三角函数快速计算(1)
  • Oracle 批量操作脚本解析:动态执行与分批次删除
  • STM32就业前景和下载KEIL软件(保姆级)
  • MongoDB分片集群
  • 自定义快捷键软件:AutoHotkey 高效的快捷键执行脚本软件
  • Deeper and Wider Siamese Networks for Real-Time Visual Tracking
  • 香港 GPU 服务器优势及使用场景解析
  • 灌区量测水自动化监测解决方案
  • Git基础使用方法与命令总结
  • MySQL的缓存策略
  • C# 面向对象 构造函数带参无参细节解析
  • 巧记英语四级单词 Unit8-上【晓艳老师版】
  • Android minSdk从21升级24后SO库异常
  • 【Android构建系统】如何在Camera Hal的Android.bp中选择性引用某个模块
  • Springboot 异步场景 使用注解 @Async 及 自定义线程池分模块使用
  • 一分钟了解机器学习
  • 专业版降重指南:如何用Python批量替换同义词?自动化操作不香嘛?
  • STM32 ADC+DMA+TIM触发采样实战:避坑指南与源码解析
  • 宇宙中是否存在量子现象?
  • Jenkins的流水线执行shell脚本执行jar命令后项目未启动未输出日志问题处理
  • #跟着若城学鸿蒙# web篇-运动和方向传感器监测
  • 【愚公系列】《Manus极简入门》042-投资策略分析师:“投资智慧导航”
  • 武汉火影数字全息剧秀制作:科技与艺术的梦幻联动