当前位置:首页 > uni-app

uniapp商品列表

2026-01-13 18:10:37uni-app

商品列表实现方法

在uniapp中实现商品列表功能,可以通过多种方式完成,以下是几种常见的方法:

使用scroll-view组件实现滚动列表

<scroll-view scroll-y="true" style="height: 100vh;">
  <view v-for="(item, index) in goodsList" :key="index" class="goods-item">
    <image :src="item.image" mode="aspectFill"></image>
    <text>{{item.title}}</text>
    <text>¥{{item.price}}</text>
  </view>
</scroll-view>

使用mescroll-uni实现上拉加载下拉刷新 安装mescroll-uni插件后,可以轻松实现分页加载功能:

uniapp商品列表

<mescroll-uni ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback">
  <view v-for="(item, index) in goodsList" :key="index">
    <!-- 商品项内容 -->
  </view>
</mescroll-uni>

通过uni-list组件实现标准列表 uni-list提供了标准化的列表样式:

<uni-list>
  <uni-list-item v-for="(item, index) in goodsList" :key="index" 
    :title="item.title" 
    :note="'¥'+item.price" 
    :thumb="item.image"
    clickable
    @click="gotoDetail(item.id)">
  </uni-list-item>
</uni-list>

数据获取与处理

商品列表通常需要从后端API获取数据:

uniapp商品列表

export default {
  data() {
    return {
      goodsList: [],
      page: 1,
      pageSize: 10
    }
  },
  methods: {
    async fetchGoodsList() {
      const res = await uni.request({
        url: 'https://api.example.com/goods',
        data: {
          page: this.page,
          pageSize: this.pageSize
        }
      })
      this.goodsList = res.data.list
    }
  },
  onLoad() {
    this.fetchGoodsList()
  }
}

样式优化建议

商品列表的视觉呈现很重要,可以考虑以下样式优化:

.goods-item {
  display: flex;
  padding: 20rpx;
  border-bottom: 1rpx solid #eee;
}
.goods-item image {
  width: 200rpx;
  height: 200rpx;
  margin-right: 20rpx;
}
.goods-item text {
  display: block;
}
.price {
  color: #f40;
  font-weight: bold;
}

性能优化技巧

长列表性能优化是关键:

  • 使用虚拟列表技术(virtual-list)处理大量数据
  • 图片懒加载:<image lazy-load>
  • 分页加载数据,避免一次性请求过多
  • 合理使用v-ifv-show控制元素渲染

交互功能扩展

商品列表通常需要添加以下交互功能:

  • 收藏按钮
  • 加入购物车按钮
  • 商品筛选和排序功能
  • 搜索功能集成
  • 分类导航联动

通过以上方法,可以在uniapp中实现功能完善、性能优良的商品列表页面。

标签: 商品列表
分享给朋友:

相关文章

vue实现WiFi列表

vue实现WiFi列表

获取WiFi列表的Vue实现 使用Vue获取WiFi列表需要结合浏览器API或后端服务,因为浏览器出于安全限制无法直接访问系统WiFi信息。以下是两种常见实现方式: 方法一:通过Web API获取…

网页制作css 列表

网页制作css 列表

创建CSS列表样式 使用CSS可以自定义HTML列表(有序列表<ol>和无序列表<ul>)的外观,包括项目符号、缩进、颜色等。以下是一些常见的列表样式方法: 基础列表样式 通…

vue实现商品列表

vue实现商品列表

Vue实现商品列表的方法 使用Vue实现商品列表需要结合数据绑定、组件化和状态管理。以下是实现商品列表的几种常见方法: 基础数据绑定实现 在Vue组件中定义商品数据数组,使用v-for指令循环渲染…

vue 实现长列表

vue 实现长列表

vue 实现长列表的优化方法 使用虚拟滚动技术,只渲染可视区域内的元素,大幅减少DOM节点数量。通过计算滚动位置动态更新显示内容,降低内存占用和渲染压力。 <template> &…

vue实现无线滚动列表

vue实现无线滚动列表

无限滚动列表的实现方法 无限滚动列表通常用于展示大量数据,通过动态加载数据减少初始渲染压力。以下是基于Vue的实现方法: 使用Intersection Observer API监听滚动 Inters…

vue实现列表显示

vue实现列表显示

使用 Vue 实现列表显示 基础列表渲染 在 Vue 中,可以通过 v-for 指令实现列表渲染。以下是一个简单的示例: <template> <ul> <…