HarmonyOS 鸿蒙Next 农物购app开发技术分享《六》-- 商品列表
HarmonyOS 鸿蒙Next 农物购app开发技术分享《六》-- 商品列表
在上一节我们完善了首页新增了资讯中心的模块的相关内容,从首页可以通过标题进入到资讯列表,点击条目又可以跳转到资讯详情,这一节我们来实现在线商城的主要功能,商品列表展示功能。
首先我们看一下我们要实现的页面样式
可以看到商品列表是一行两个商品这样来进行展示的,一条数据是图片、商品名称、价格、销量等信息来组成。
要展示商品列表我们也要新建一个自定义组件来在index中引用
代码实现
import { router } from ‘@kit.ArkUI’
export struct ProductListPage {
private imgList:ESObject[]=[
{“img”:“网络图片” ,
“title”:“tpe材质手机壳”,
“volume”:“1027”,
“price”:“7.9”},
{“img”:“网络图片” ,
“title”:“水果干组合”,
“volume”:“323”,
“price”:“39.9”},
{“img”:“网络图片” ,
“title”:“mate40”,
“volume”:“9999”,
“price”:“4499”},
{“img”:“网络图片” ,
“title”:“佳能相机”,
“volume”:“890”,
“price”:“8999”},
]
build() {
Column() {
GridRow({ columns: 2 }){
ForEach(this.imgList, (item: ESObject, index?:number) => {
GridCol() {
Column(){
Image(item.img).width(‘100%’).height(120)
.borderRadius(10)
Text(item.title)
.fontSize(18)
.fontWeight(FontWeight.Bold)
.margin({top:10})
Row(){
Text(item.price+“¥”)
.margin({top:5})
.fontSize(18)
.fontColor(Color.Red)
Blank()
Text(item.volume)
.margin({top:5})
.fontSize(14)
}
.width(‘100%’)
}
.padding(10)
.alignItems(HorizontalAlign.Start)
.onClick(()=>{
router.pushUrl({url:""})
})
}.backgroundColor(item)
})
}
}
.height(‘100%’)
.width(‘100%’)
}
}
然后我们回到index 中
TabContent() {
Column(){
BannerPage()
TopListPage()
NewPage()
ProductListPage()
}
.height(‘100%’)
}
.tabBar(this.tabBuilder(“首页”,0,$r(‘app.media.index1_check’),$r(‘app.media.index1_not_check’)))
把我们的列表页组件引入
执行代码后首页展示如下
可以看到我们的首页内容更加丰富了,这一节就到这里了
更多关于HarmonyOS 鸿蒙Next 农物购app开发技术分享《六》-- 商品列表的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next 农物购app开发技术分享《六》-- 商品列表的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next环境下开发农物购app的商品列表功能时,可以利用ArkUI框架进行界面构建和数据展示。ArkUI是HarmonyOS的声明式UI开发框架,支持用JS或TS进行开发,便于快速构建高质量的UI界面。
数据绑定与渲染:
- 使用
@State
或@Link
注解来绑定商品列表数据,确保数据变化时界面能实时更新。 - 在
<list>
组件中,通过for
循环遍历商品列表,生成每一项商品的展示元素。 - 为每一项商品设置点击事件监听,便于实现商品的详情查看、加入购物车等功能。
性能优化:
- 若商品列表数据量较大,可以使用分页加载或虚拟列表技术来减少内存占用和提升渲染性能。
- 利用ArkUI的懒加载特性,对图片等资源进行优化,避免一次性加载过多数据导致的性能问题。
样式与布局:
- 使用CSS样式或ArkUI的样式系统来定义商品列表的样式,包括字体、颜色、间距等。
- 通过Flexbox或Grid布局来管理商品列表的排列方式,确保在不同屏幕尺寸和分辨率下都能有良好的显示效果。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html