当前位置: 首页 > 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(); },

相关文章:

  • 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# 数据结构 树篇 入门树与二叉树的一切
  • 最大子段和(递推)
  • 物理:人的记忆是由基本粒子构成的吗?
  • 75万买299元路由器后续:重庆市纪委、财政局、教委联合调查
  • SIFF动画单元公布首批片单:《燃比娃》《凡尔赛玫瑰》等
  • 人才争夺战,二三线城市和一线城市拼什么?洛阳官方调研剖析
  • 威尼斯建筑双年展总策划:山的另一边有什么在等着我们
  • 福州千余公共道路泊车位装“智能地锁”续:运营公司被责令改正并罚款
  • 美股全线收涨:道指涨逾千点,纳斯达克中国金龙指数涨5.4%