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

uniapp-商城-56-后台 新增商品(弹窗属性继续分析)

1、概述

前面我们讲了布局和相应商品属性的页面布局。属性是一个弹窗,它是一个cell的组件的实现属性。点击该cell就会调用uni-popup 进行弹窗。基本的页面布局如下:

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

2  页面显示商品属性  点击添加属性

2.1 代码如下:

			<uni-forms-item label="商品属性" ><u-cell :title="skuTitle" isLink :border="false" @click="clickSelect"></u-cell><view class="skuList"><view class="item" v-for="item in goodsFormData.sku_select" @click="clickSelect"><view class="left">{{item.skuName}}:</view><view class="right">{{skuChildName(item.children)}}</view></view></view></uni-forms-item>

2.2 代码解读

cell :

该组件就是cell单元格。一般用于一组列表的情况,比如个人中心页,设置页等,默认有一个边框,且整个可以被点击 。

title是组件显示的名称; 

isLink  就是显示一个右侧的箭头;

border:不用显示默认的边框; 注意使用加v-band(也就是加 :)

            <uni-forms-item label="商品属性" >

              // label 显示在界面上的文本 就是商品属性
                <u-cell :title="skuTitle" isLink :border="false" @click="clickSelect"></u-cell>

                // cell 实现点击的组件  title 就是 该如何显示?-----见2.3      

                // clickSelect 是一个函数 ----见 2.4 

                //下面是 显示选中后效果,后面还会继续分析
                <view class="skuList">
                    <view class="item" v-for="item in goodsFormData.sku_select" @click="clickSelect">
                        <view class="left">{{item.skuName}}:</view>
                        <view class="right">{{skuChildName(item.children)}}</view>
                    </view>
                </view>
            </uni-forms-item>

2.3 title的计算

默认就是显示的点击添加属性,如果已经添加了属性就会进行显示,把数据传递给this.goodsFormData.sku_select

如果数据有,那就是数据库有,数据库的值也是来自于 一开始选中的,后面再来分析这个选择接口。

computed: {
            skuTitle() {
                if (this.goodsFormData.sku_select.length) {
                    let arr = this.goodsFormData.sku_select.map(item => {
                        return item.skuName
                    })
                    return arr.join("/")
                } else {
                    return "点击添加属性"
                }
            }
        },

2.4 对cell 的点击clickSelect

//点击选择属性
            clickSelect() {
                this.$refs.attrWrapPop.open(); //使用open方法弹出来
                if (this.skuArr.length) return;
                this.getSkuData(); },

http://www.dtcms.com/a/188766.html

相关文章:

  • UDP--DDR--SFP,FPGA实现之指令监测模块实现
  • 专题二:二叉树的深度搜素(二叉树的所有路径)重点理解回溯算法的”恢复现场“
  • 在VSCode中接入DeepSeek的指南
  • 携固态电池、新形态钢壳叠片电池等产品 豪鹏科技将亮相CIBF 2025
  • 【HarmonyOS】ArkTS开发应用的横竖屏切换
  • 智能工厂MES系统示例
  • Java大师成长计划之第21天:Spring Boot快速入门
  • TCP协议十大核心特性深度解析:构建可靠传输的基石
  • c语言第一个小游戏:贪吃蛇小游戏08(贪吃蛇完结)
  • ros2-node
  • Win11 + Visual Studio 2022 + FLTK 1.4.3 + Gmsh 4.13.1 源码编译指南
  • Ubuntu 18.04.6下OpenSSL与OpenSSH版本升级
  • 2025-05-13 Unity 网络基础12——大小端模式
  • 项目中遇到的问题
  • WSL 安装 Debian 12 后,Linux 如何安装 vim ?
  • AI时代,如何实现人机共舞?
  • 计算机网络防火墙技术介绍:包过滤、应用代理网关、状态监测
  • c# 数据结构 树篇 入门树与二叉树的一切
  • 最大子段和(递推)
  • 物理:人的记忆是由基本粒子构成的吗?
  • 【AI News | 20250513】每日AI进展
  • Ubuntu 22.04搭建OpenStreeMap地址解析服务(保姆级教程)
  • 跨境电商定价革命:亚马逊“逆向提价“策略背后的价值重构逻辑
  • Readiris PDF:高效文档管理与OCR识别工具
  • CMake基础
  • Linux上的rm和srm 命令
  • Springboot实现重试机制
  • ebook2audiobook开源程序使用动态 AI 模型和语音克隆将电子书转换为带有章节和元数据的有声读物。支持 1,107+ 种语言
  • 从新手到高手:全面解析 AI 时代的「魔法咒语」——Prompt
  • 鸿蒙 PC 发布之后,想在技术上聊聊它的未来可能