微信小程序瀑布流组件

devtools/2024/11/17 21:03:45/

实现思路

  • 布局采用左右风格的方式,图片采用宽度固定自适应高度
  • 接收到显示的数组循环获取左右的高度对比下一个插入左或右
  • 提供左右插槽可自定义布局,传出当前循环的值与下标
  • 提供触底事件与返回顶部事件
  • 在滚动过程中隐藏不需要显示的数据以减少微信小程序dom的消耗

示例

  • backTop() 返回顶部
  • Init(arr) 接收下一个显示的数组
<template><view style="display: flex;flex-direction: column;width: 100%;height: 100wh;"><view class="ddddd"><ZzzVue @scrolltolower="jhjj2" ref="leftright"><template v-slot:left="{data,dataIndex}"><image :src="data"style="width: 100%;display: block;margin: 0;padding: 10rpx;box-sizing: border-box;"mode="widthFix"></image></template><template v-slot:right="{data,dataIndex}"><image :src="data"style="width: 100%;display: block;margin: 0;padding: 10rpx;box-sizing: border-box;"mode="widthFix"></image></template></ZzzVue></view><view @click="jhjj2()" style=" line-height: 90rpx;background: #ccc;">下一页</view><view @click="jhjj333()" style=" line-height: 90rpx;background: #ccc;">返回顶部</view></view>
</template><script>import a1 from '../../static/1.jpg'import a2 from '../../static/2.jpg'import ZzzVue from '../Component/Compent.vue'export default {components: {ZzzVue},data() {return {arrList: [a1,a2],tempList: []}},onLoad() {var d = [...this.arrList];for (let i = 0; i < 5; i++) {this.arrList = [...this.arrList, ...d]}this.tempList = [...this.arrList]this.$nextTick(() => {this.$refs.leftright.Init(this.arrList)})},methods: {jhjj333() {this.$nextTick(() => {this.$refs.leftright.backTop()})},jhjj2() {this.$nextTick(() => {this.$refs.leftright.Init(this.tempList)})},}}
</script><style>.ddddd {width: 100%;height: 80vh;}
</style>

源代码

微信小程序瀑布流组件


http://www.ppmy.cn/devtools/134788.html

相关文章

python class(类)在多文件的应用

在大型项目中&#xff0c;通常会将代码分成多个文件&#xff0c;以便更好地组织和管理代码。Python 提供了模块和包的概念&#xff0c;可以帮助我们实现这一点。下面是一个简单的示例&#xff0c;展示如何在多个文件中使用 Python 类。 假设我们有一个项目目录结构如下&#xf…

丹摩征文活动 |通过Pycharm复现命名实体识别模型--MECT模型

文章目录 &#x1f34b;1 引言&#x1f34b;2 平台优势&#x1f34b;3 丹摩平台服务器配置教程&#x1f34b;4 实操案例&#xff08; MECT4CNER-main&#xff09;&#x1f34b;4.1 MECT4CNER-main模型&#x1f34b;4.2 环境配置&#x1f34b;4.3 训练模型&#x1f34b;4.4 数据…

如果https连接的建立是通过cdn分为两段式的连接,而不是直接从源客户端到服务器端握手协商的连接,那么传输内容可信吗?cdn提供商不会作恶吗

在使用 CDN&#xff08;内容分发网络&#xff09;时&#xff0c;HTTPS 连接的确是分为两段式的&#xff0c;但这并不意味着传输内容不可信。以下是关于信任和安全性的几个关键点&#xff1a; 数据加密 端到端加密&#xff1a;在 CDN 代理的情况下&#xff0c;客户端与 CDN 之间…

MySql--多表查询及聚合函数总结

建议先阅读MySql--增删改查表设计总结-CSDN博客 一、聚合函数 1.COUNT(列||*)&#xff1a;统计结果的个数。 2.SUM&#xff08;列&#xff09;&#xff1a;求和。 3.AVG(列)&#xff1a;求平均值。 4.MIN(列) 最小值。 5.MAX(列) &#xff1a;最大值。 二、GROUP BY 分组查询…

automa 浏览器自动化工具插件

参考&#xff1a; https://github.com/AutomaApp/automa 安装后可以自己创建自动化工作流&#xff1a; 工具流插件可以选择

Python爬虫下载新闻,Flask展现新闻(2)

上篇讲了用Python从新闻网站上下载新闻&#xff0c;本篇讲用Flask展现新闻。关于Flask安装网上好多教程&#xff0c;不赘述。下面主要讲 HTML-Flask-数据 的关系。 简洁版 如图&#xff0c;页面简单&#xff0c;主要显示新闻标题。 分页&#xff0c;使用最简单的分页技术&…

Flutter Getx状态管理

在 Flutter 开发中&#xff0c;状态管理是一个非常重要的话题。随着应用变得更加复杂&#xff0c;状态管理的方式也变得越来越多。Flutter 提供了多种状态管理的解决方案&#xff0c;如 Provider、Riverpod、BLoC 等&#xff0c;而在这些选项中&#xff0c;GetX 作为一个轻量级…

充电桩基础设施的时空大数据分析:以深圳市为例(二)

本篇文章我们将继续从整个深圳市的角度&#xff0c;深入探讨充电桩的使用率、供需关系及其对价格的影响。通过对2022年9月1日至2023年8月31日的充电桩累计充电量分布数据进行分析&#xff0c;结合充电桩的小时颗粒度使用量和春节期间的使用量变化&#xff0c;探究充电桩使用模式…