Uniapp开发鸿蒙购物应用教程之商品列表

简介: 本教程分享如何使用UniApp开发鸿蒙应用首页商品列表,通过网格布局实现商品分类与商品展示,详解布局方式与代码实现。

今天要分享的依然是使用uniapp跨平台开发鸿蒙应用的系列教程,今天要做的是实现首页的商品列表,效果图如下:

image.png

今天的内容分为两部分,一部分是中间的商品分类,还有下方商品列表,不过这两部分其实是相同的布局方式,都是网格布局。

在鸿蒙原生开发中我们都使用过grid组件进行网格布局,然后通过columnsTemplate、rowsTemplate、rowsGap、columnsGap等属性来设置网格的行数、列数、大小、间距等样式。

在uniapp中也有网格布局,使用方式也和ArkTs有异曲同工之妙。我们先看一下商品分类部分怎么实现。

Uniapp没有Grid容器,写法是使用view容器存放组件,在样式选择器中设置grid布局,并且还有grid-template-rows、grid-template-columns、gap等和Arkts中相似的属性,而且作用是一样的,下面是商品分类列表部分的具体代码:

数据部分:

const goodsTypeList = ref([
{'image':'/static/潮服.jpeg','name':'潮牌运配'},
{'image':'/static/沉香木雕.jpeg','name':'工艺珍品'},
{'image':'/static/彩妆.jpeg','name':'美妆个护'},
{'image':'/static/男鞋.jpeg','name':'轻奢名品'},
{'image':'/static/雕刻.jpeg','name':'水墨雕刻'},
{'image':'/static/核桃.jpeg','name':'文玩收藏'},
{'image':'/static/翡翠.jpeg','name':'珠宝玉翠'},
{'image':'/static/汝窑.jpeg','name':'紫砂陶艺'},
])
AI 代码解读

内容部分:

<view class="grid-container">
    <view v-for="(item, index) in goodsTypeList" :key="index" class="grid-item">
      <image :src="item.image" style="width: 100%;height: 100%;"></image>
      <text style="font-size: 15px;color: #4a4a4a;margin-top: 5px;">{
  {item.name}}</text>
    </view>
</view>
AI 代码解读

样式部分:

.grid-container {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 10px;
  padding: 10px;
  margin-top: 10px;
  background-color: white;
}
.grid-item{
width: 100%;
height: 100px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
AI 代码解读

分类部分做好了之后,商品列表部分的布局方式和这部分是一样的,一点小区别就是列数和大小不一样,实现代码如下:

<view class="goods-grid">
  <view v-for="(item, index) in goodsList" :key="index" class="goods-item">
      <image :src="item.image" style="width: 100%;"></image>
      <text style="font-size: 15px;color: #4a4a4a;margin-top: 5px;">{
  {item.name}}</text>
      <text style="font-size: 15px;color: red;margin-top: 5px;">{
  {item.price}}</text>
  </view>
</view>

.goods-grid {
     display: grid;
     grid-template-columns: 1fr 1fr ;
     margin-top: 10px;
     background-color: white;
     padding-left: 6px;
     row-gap: 12px;
}
.goods-item {
     display: flex;
     flex-direction: column;
     height: 220px;
     width: calc(50vw - 9px);
     background-color: white;
}
AI 代码解读

##鸿蒙三方框架##Uniapp##购物

目录
打赏
0
1
1
0
2
分享
相关文章
UniApp打包教程:使用HBuilder X和AppUploader完成原生App云打包和上架指南“
UniApp打包教程:使用HBuilder X和AppUploader完成原生App云打包和上架指南“
344 3
Uniapp开发鸿蒙购物项目教程之样式选择器
本篇教程介绍了uniapp开发鸿蒙应用中的样式选择器,包括类选择器、ID选择器、属性选择器、内联选择器和后代选择器,并讲解了它们的基本用法与优先级规则。通过简单示例帮助开发者理解如何为组件设置样式,同时提醒合理使用!important以避免样式管理混乱。适合初学者掌握鸿蒙跨平台开发中的基础样式控制方法。
Uniapp开发鸿蒙应用教程之选项式api和组合式api
本文介绍了在Uniapp开发鸿蒙应用时,如何通过选项式API和组合式API进行数据操作。以修改年龄值为例,对比展示了两种API的代码结构与区别,并重点演示了组合式API中更简洁、灵活的写法,帮助开发者理解并掌握现代Vue开发模式。#鸿蒙三方框架 #Uniapp
Uniapp开发鸿蒙应用教程之自定义导航栏
本文介绍了在Uniapp跨平台开发鸿蒙应用时,如何实现自定义导航栏。通过修改pages.json文件可调整默认导航栏样式,但若需添加组件(如搜索框、按钮等),则需手动创建自定义导航栏组件,以适配鸿蒙系统。文中给出了详细的配置代码与实现步骤,帮助开发者灵活控制界面布局。#鸿蒙 #Uniapp #跨平台开发
如何用uniapp打包桌面客户端exe包,vue或者uni项目如何打包桌面客户端之electron开发-优雅草央千澈以开源蜻蜓AI工具为例子演示完整教程-开源代码附上
如何用uniapp打包桌面客户端exe包,vue或者uni项目如何打包桌面客户端之electron开发-优雅草央千澈以开源蜻蜓AI工具为例子演示完整教程-开源代码附上
672 18
uniapp-网络数据请求全教程
这篇文档介绍了如何在uni-app项目中使用第三方包发起网络请求
446 3

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等