uni-app怎么做类似于京东的商品列表双列布局 uni-app瀑布流渲染技巧【代码】

月夜之吻

月夜之吻

2026-05-04

511人浏览

原创

uni-app中实现双列商品列表最稳方式是用flex布局:父容器设display: flex; flex-wrap: wrap; 子项设width: 48%; margin: 0 1% 20rpx; 避免flex: 1和calc混用,图片固定高度并用@load触发重排。

uni-app怎么做类似于京东的商品列表双列布局 uni-app瀑布流渲染技巧【代码】

uni-app里用flex实现双列商品列表最稳的方式

双列布局不等于瀑布流,多数京东式商品页其实只是等高两列flex布局,而非真正动态高度的瀑布流。强行上瀑布流反而增加白屏、错位、滚动卡顿风险。

推荐直接用display: flex; flex-wrap: wrap + width: 48%控制子项,配合margin留间隙。关键点在于:父容器必须有明确width(如100%),且子项不能用flex: 1width: 50%——后者在某些Android WebView下会因小数像素导致换行错乱。

  • view容器设display: flex; flex-wrap: wrap; padding: 0 10rpx
  • 每个商品viewwidth: 48%; margin: 0 1% 20rpx;(左右各1%,避免总宽超100%)
  • 图片统一用mode="aspectFill",并设固定height(如300rpx),防止内容高度不一致拉伸错位
  • 避免在子项里用flex: 1flex-grow,uni-app的flex在iOS和安卓表现不一致

真瀑布流别硬套uni-app原生组件

uni-app没有内置瀑布流组件,scroll-viewposition: absolute手动计算位置的方式极易出bug:滚动时元素重叠、onScroll触发频率低导致卡顿、iOS下scrollTop不准、无法复用virtual-list优化。

如果确实需要动态高度瀑布流(比如图文混排+视频卡片),优先用成熟第三方库:vue-virtual-scrollervue-waterfall-easy,但注意它们在app-plus平台需额外配置renderjs支持,H5端可直接用,微信小程序端基本不可用。

  • 引入vue-waterfall-easy后,必须把waterfall-itemheight设为auto,并在mounted中调用this.$refs.waterfall.refresh()强制重算
  • 禁用scroll-viewenhanced属性,否则与瀑布流JS计算冲突
  • 每张图加载完要主动触发refresh(),否则新图片撑开高度后下方卡片不重新定位

uni-app条件编译下双列布局的兼容写法

不同平台对rpx解析精度不同:微信小程序支持到0.5rpx,App端部分Android机型只认整数rpx,H5端则依赖CSS缩放。所以48%492rpx更可靠,但间距不能全靠rpx

jQuery仿京东搜索条件筛选代码
jQuery仿京东搜索条件筛选代码

jQuery仿京东搜索条件筛选代码是一款基于json制作京东商品列表搜索条件筛选,可自定义多个条件筛选功能代码。适用于商城商品快速筛选代码。

下载

推荐用条件编译区分间隙单位:

<view class="goods-list"><view v-for="(item, i) in list" :key="i" class="goods-item"></view></view><p>/<em> #ifdef MP-WEIXIN </em>/
.goods-item { margin: 0 12rpx 20rpx; width: 48%; }
/<em> #endif </em>/</p><p>/<em> #ifdef APP-PLUS </em>/
.goods-item { margin: 0 12px 20px; width: 48%; }
/<em> #endif </em>/</p><p>/<em> #ifdef H5 </em>/
.goods-item { margin: 0 12px 20px; width: 48%; }
/<em> #endif </em>/
</p>
  • 所有平台统一用%控列宽,杜绝rpx在App端四舍五入误差
  • 间距用rpx仅限小程序,App/H5统一用px,由uni.upx2px()在运行时转换(但这里没必要,静态值更稳)
  • 避免在style绑定中写width: calc(50% - 10rpx),H5和App都不支持calc混用rpx

图片加载导致双列错位的修复时机

商品图异步加载完成前高度为0,加载后突然撑开,常导致右侧卡片被顶到下一行——这不是布局问题,是渲染时机问题。

解决方式不是等所有图加载完再显示,而是用image组件的@load事件逐个通知重排:

<image :src="item.pic" mode="aspectFill" style="width: 100%; height: 300rpx;"></image>
  • onImageLoad里调用this.$nextTick(() => { this.$forceUpdate() }),触发当前item所在行重排
  • 不要用v-if控制图片显隐,会导致频繁DOM销毁重建;用v-show + 占位background-color更轻量
  • 服务端返回的图片尺寸建议统一裁剪为宽高比1:13:4,前端不用再计算

双列布局的“稳”来自克制——少用动态计算,多靠CSS约束;瀑布流的“可用”来自取舍——明确哪些平台必须支持,哪些可以降级为普通双列。真正在意首屏速度和滚动体验,就别迷信“瀑布流”这个词本身。

相关文章

京东
京东

京东app是一款移动购物软件,具有商品搜索/浏览、评论查阅、商品购买、在线支付/货到付款、订单查询、物流跟踪、晒单/评价、返修退换货等功能,为您打造简单、快乐的生活体验。有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

京东 uni-app

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1062

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

2167

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

2079

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

2229

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

333

5

火山引擎云服务器使用教程
火山引擎云服务器使用教程

火山引擎云服务器使用教程适合第一次购买、部署和管理云服务器的用户参考。本专题整理控制台入口、实例创建、地域和配置选择、系统镜像设置、安全组放行、远程连接、网站部署、续费计费和常见连接失败问题,帮助用户快速完成云服务器基础使用流程。

2026.08.04

2

10

火山引擎API Key绑定大模型教程
火山引擎API Key绑定大模型教程

火山引擎API Key怎么绑定大模型适合需要在火山方舟、应用后台、脚本工具或AI编程软件中调用模型的开发者参考。本专题整理控制台服务开通、API Key创建、模型权限检查、模型ID选择、Base URL填写、调用测试和鉴权失败排查,帮助用户完成从密钥到模型调用的配置流程。

2026.08.04

2

10

火山引擎API Key获取教程
火山引擎API Key获取教程

火山引擎API Key适合需要调用火山引擎云服务、AI模型、火山方舟接口或其他开放能力的开发者参考。本专题整理控制台入口、账号认证、服务开通、API Key创建、密钥复制保存、权限检查、调用测试和Key无效等常见问题排查。

2026.08.04

6

10

火山引擎API接入教程
火山引擎API接入教程

火山引擎API接入适合需要在应用、脚本、后台服务或AI工具中调用火山引擎能力的开发者参考。本专题整理控制台入口、服务开通、API Key获取、接口地址配置、请求参数填写、调用测试、权限设置、额度查询和常见接口报错排查。

2026.08.04

5

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
uni-app从入门到实战教程
uni-app从入门到实战教程

共0课时 | 0人学习

uni-app x harmony开发指南
uni-app x harmony开发指南

共0课时 | 0人学习

uni-app鸿蒙运行和发行
uni-app鸿蒙运行和发行

共0课时 | 0人学习