UNIAPP移动端瀑布流列表,支持APP、微信小程序、H5

下载地址:https://ext.dcloud.net.cn/plugin?id=26588

1. 页面概览

本页面是一个基于 UniApp + Vue2 开发的移动端瀑布流列表展示页。采用两列瀑布流布局,并针对移动端性能进行了图片加载优化。

2. 技术规格

  • 开发框架:UniApp (Vue2 Options API)
  • 样式处理:SCSS
  • 布局模式:Flexbox 响应式布局 + 左右双列算法
  • 渲染模式:原生渲染,兼容 H5、微信小程序及 App 端

3. 核心功能模块

3.1 导航模块 (Navigation Tabs)

  • 多状态切换:支持分类切换。
  • 视觉反馈:通过下划线高亮显示当前激活状态。
  • 联动刷新:切换分类时自动清空当前数据,触发下拉刷新逻辑,重置分页索引。

3.2 瀑布流布局 (Waterfall Layout)

  • 双列分配 :采用实时长度对比算法。在插入新数据前,对比 leftListrightList 的数组长度,将新项推入较短的一列,确保两列平衡。
  • 自适应高度 :利用图片组件的 widthFix 模式,由内容自然撑开高度,实现错落有致的瀑布流感。

3.3 图片加载优化 (Image Optimization)

  • 原生懒加载 :启用 lazy-load 属性,仅在图片滚动至视口附近时发起网络请求。
  • 渐现动画 (Fade-in) :图片加载完成后,通过监听 @load 事件切换 CSS 透明度,避免瞬间闪现。
  • 骨架占位:在图片未完成加载时,显示灰色背景色块,维持页面布局稳定,防止高度塌陷带来的视觉跳动。
  • 异常捕获 :通过 @error 监听图片加载失败状态,并自动替换为预设的默认图。

4. 交互逻辑说明

交互动作 触发逻辑 业务效果
下拉刷新 onPullDownRefresh 重置 page=1,清空现有列表,重新获取数据。
触底加载 onReachBottom 分页索引 page++,追加数据到现有列表末尾。
瀑布流列表点击 @click 触发 handleDetail 方法,控制台打印瀑布流列表 ID,便于后续跳转路由跳转。
加载提示 数据监听 根据 loadingallLoaded 状态展示"加载中"或"没有更多了"。

5. 数据结构定义

json 复制代码
{
  "id": "String (唯一标识)",
  "title": "String (瀑布流列表核心卖点描述)",
  "image": "String (图片URL)",
  "location": "String (地理位置标签)",
  "rooms": "String (户型, e.g. 3室2厅)",
  "area": "Number/String (建筑面积)",
  "direction": "String (朝向)",
  "isSpecial": "Boolean (是否展示特价标签)",
  "totalPrice": "Number (总价/万元)",
  "unitPrice": "Number (单价/元/平)",
  "loaded": "Boolean (前端状态控制:图片是否已加载)"
}

6. 后续扩展建议

  1. 动态高度计算 :当前通过数组长度平衡列高,后续可改为在 @load 后通过 uni.createSelectorQuery 获取 DOM 实际高度来决定下一张图的去向,实现更精准的对齐。
  2. 筛选器增强:在导航栏下方增加区域、价格、户型等组合筛选菜单。
  3. 大图预览:增加点击瀑布流列表图片弹出全屏大图预览的功能。
  4. 接口对接 :目前为 Mock 数据,建议在 fetchData 中接入标准的 uni.request 异步请求。

相关推荐
2501_9159184115 小时前
iOS App性能测试工具的实现方法与优化循环指南
android·ios·小程序·https·uni-app·iphone·webview
斯内普吖17 小时前
(开源)高校素拓分管理系统小程序实战指南 基于 Java + SpringBoot + uni-app + Vue + MySQL
java·spring boot·mysql·小程序·uni-app·开源
海阔天空668818 小时前
uniapp开启调试模式
uni-app·uniapp开启调试模式
anyup1 天前
分享 5 套 uni-app 实用主题,一键适配暗黑模式
前端·uni-app·视觉设计
gg159357284602 天前
Uni-app跨平台开发全解课程:从零基础到企业级多端落地实战
vue.js·uni-app
xshirleyl3 天前
uniapp小兔鲜儿day3
uni-app
Geek_Vison4 天前
2026 跨端框架横评:FinClip、Taro、uni-app、Remax、mPaaS 五款工具技术+业务双维度测评
小程序·uni-app·taro·mpaas·小程序容器
RuoyiOffice4 天前
从 0 到 1 搭建 RuoyiOffice:30 分钟跑通后端+前端+移动端
前端·spring boot·uni-app·开源·oa·ruoyioffice·hrm
Geek_Vison4 天前
APP集成了50多个小程序后,如何搭建一个小程序管理平台来管理这些小程序~
小程序·uni-app·apache·mpaas·小程序容器
梦曦i4 天前
uni-router v1.1.1发布:守卫超时保护+路由监听
前端·uni-app