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

《仿盒马》app开发技术分享-- 兑换列表展示(68)

技术栈

Appgallery connect

开发准备

上一节我们创建了积分相关的商品表,我们现在可以针对积分进行更多的操作了,我们首先添加了对应的数据到我们的云数据库中,这一节我们就要把我们存储的数据查询出来展示给用户

功能分析

首先我们需要在进入页面后进行数据查询,数据查出后我们定义对应的集合,然后我们新建一个瀑布流组件,把数据传递进去,进行数据的展示,在引用组件的地方我们传递数据

代码实现

我们首先在进入页面后查询数据

@State listProduct:PointsProduct[]=[]async aboutToAppear(): Promise<void> {let databaseZone = cloudDatabase.zone('default');let condition = new cloudDatabase.DatabaseQuery(points_product);let listData = await databaseZone.query(condition);let json = JSON.stringify(listData)let data: PointsProduct[] = JSON.parse(json)this.listProduct = datahilog.error(0x0000, 'testTag', `Failed to query data, code: ${data}`);}

然后我们新建一个自定义组件,先定义好一条数据的样式

  @BuilderItem(item:PointsProduct){Column() {Image(item.url).width('100%').aspectRatio(1).objectFit(ImageFit.Cover).borderRadius({topLeft:10,topRight:10})Column() {Text(item.name).fontSize(16).fontColor('#333').margin({ bottom: 4 })Text(item.text_message).fontSize(12).fontColor('#666').margin({ bottom: 8 })Row() {Text(){Span("$").fontColor(Color.Red).fontSize(14)Span(String(item.points)).fontSize(16).fontColor(Color.Red)}Blank()Column() {Image($r('app.media.cart')).width(20).height(20)}.justifyContent(FlexAlign.Center).width(36).height(36).backgroundColor("#ff2bd2fa").borderRadius(18)}.margin({top:10}).width('100%').justifyContent(FlexAlign.SpaceBetween)}.alignItems(HorizontalAlign.Start).padding(12)}.backgroundColor(Color.White).borderRadius(12).onClick(() => {})}

然后我们创建对应的布局,引入item

build() {WaterFlow() {ForEach(this.goodsList, (item:PointsProduct, index) => {FlowItem() {this.Item(item)}.margin({ bottom: 12 })})}.padding(10).columnsTemplate('1fr 1fr').columnsGap(12).onAreaChange((oldVal, newVal) => {this.columns = newVal.width > 600 ? 2 : 1})}

实现之后我们引入组件

  @State listProduct:PointsProduct[]=[]build() {Column() {CommonTopBar({ title: "积分兑换", alpha: 0, titleAlignment: TextAlign.Center ,backButton:true})ProductItem({goodsList:this.listProduct})}.backgroundColor(Color.White).height('100%').width('100%')}

到这里我们就实现了兑换列表的展示

http://www.lqws.cn/news/512443.html

相关文章:

  • git操作练习(3)
  • 【Python-Day 29】万物皆对象:详解 Python 类的定义、实例化与 `__init__` 方法
  • SQL Server从入门到项目实践(超值版)读书笔记 18
  • git commit --no-verify -m ““ 命令的作用是什么
  • LangChain网页自动化PlayWrightBrowserToolkit
  • Python训练营-Day40-训练和测试的规范写法
  • maven:迁移到 Maven Central 后 pom.xml的配置步骤
  • 马克思主义基本原理期末复习下
  • HarmonyOS开发基础 --鸿蒙仓颉语言基础语法入门
  • 基于元学习的回归预测模型如何设计?
  • 3D重建任务中的显式学习和隐式学习
  • 脉内频率捷变LFM信号
  • 【神经网络预测】基于LSTM、PSO - LSTM、随机森林和多项式拟合的火力机组排放预测
  • 解锁Selenium:Web自动化的常用操作秘籍
  • 超实用教程:n8n + MCP(MinIO Client Processor)构建智能文件处理流水线 - 从零部署到企业级自动化实战​
  • ubuntu20.04安装多版本python时,如何使用sudo python3.10
  • Linux离线搭建Jenkins
  • 有AI后,还用学编程吗?
  • 哈希表理论与算法总结
  • 飞往大厂梦之算法提升-day08
  • Java实现简易即时通讯系统
  • leetcode230-二叉搜索树中第K小的元素
  • OSS与NAS混合云存储架构:非结构化数据统一管理实战
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | MovieApp(电影卡片组件)
  • AI时代工具:AIGC导航——AI工具集合
  • 60天python训练营打卡day41
  • Oracle LogMiner日志分析工具介绍
  • 数据库AICD特性之--一致性 Consistency
  • 项目需求评审报告参考模板
  • Linux系统---Nginx配置nginx状态统计