广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >小程序实现瀑布流动态加载列表
  • 560
分享到

小程序实现瀑布流动态加载列表

2024-04-02 19:04:59 560人浏览 八月长安
摘要

本文实例为大家分享了小程序实现瀑布流动态加载列表的具体代码,供大家参考,具体内容如下 最近业务需要做一个商城列表,就自己写了一个瀑布流来加载列表。 这个列表在很多地方都需要用到,就

本文实例为大家分享了小程序实现瀑布流动态加载列表的具体代码,供大家参考,具体内容如下

最近业务需要做一个商城列表,就自己写了一个瀑布流来加载列表。

这个列表在很多地方都需要用到,就给写成组件,方便使用。

1、goodsBox.js代码

想法很简单,就是判断两列的高度,将数据插入低的一列。

let leftHeight = 0,
  rightHeight = 0; //分别定义左右两边的高度
let query;
Component({
  
  properties: {
    GoodsList: {
      type: Array,
      value: []
    },
    loadingShow: {
      type: Boolean,
      value: false
    },
    noInfoShow: {
      type: Boolean,
      value: false
    }
  },

  
  data: {
    leftList: [],
    rightList: []
  },
  observers: {
  // 当goodsList发生变化时调用方法
    'goodsList': function (goodsList) {
      this.isLeft()
    }
  },
  
  methods: {
    async isLeft() {
      const {
        goodsList,
        leftList,
        rightList
      } = this.data;
      query = wx.createSelectorQuery().in(this);
      let list = goodsList.slice(leftList.length+rightList.length,goodsList.length)
      for (const item of list) {
        leftHeight <= rightHeight ? leftList.push(item) : rightList.push(item); //判断两边高度,来觉得添加到那边
        await this.getBoxHeight(leftList, rightList);
      }
      
    },
    getBoxHeight(leftList, rightList) { //获取左右两边高度
      return new Promise((resolve, reject) => {
        this.setData({
          leftList,
          rightList
        }, () => {
          query.select('#left').boundinGClientRect();
          query.select('#right').boundingClientRect();
          
          query.exec((res) => {
            leftHeight = res[0].height; //获取左边列表的高度
            rightHeight = res[1].height; //获取右边列表的高度
            resolve();
          });
        });
      })
    },
  }
})

这一块需要注意的是 wx.createSelectorQuery().in(this),将选择器的选取范围更改为自定义组件 component 内。微信文档.

2、goodsBox.wxml

这边主要就是把页面分成两列,一些CSS就不多写了

// wxml
<view class="box clearfix">
  <view id="left" class="left">
    <view class="shop_box" wx:for="{{leftList}}" wx:key="index" ></view>
  </view>
  <view id="right" class="right">
    <view class="shop_box" wx:for="{{rightList}}" wx:key="index" ></view>
  </view>
</view>
<view class="cu-load  loading" wx:if="{{loadingShow}}"></view>
<view class="cu-load  over" wx:if="{{noInfoShow}}"></view>

3、goodsBox.wxss

.left,.right{
  float: left;
}
.clearfix::after {
  content: ".";
  clear: both;
  display: block;
  overflow: hidden;
  font-size: 0;
  height: 0;
}
.clearfix {
  zoom: 1;
}

4、页面使用

现在JSON文件里面引用组件,然后使用组件

<goodsBox id="goodsBox" goodsList="{{goodsList}}" loadingShow="{{loadingShow}}" noInfoShow="{{noInfoShow}}"></goodsBox>

每次goodsList发生变化,组件就会调用瀑布流排列方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 小程序实现瀑布流动态加载列表

本文链接: https://www.lsjlt.com/news/165382.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 小程序实现瀑布流动态加载列表
    本文实例为大家分享了小程序实现瀑布流动态加载列表的具体代码,供大家参考,具体内容如下 最近业务需要做一个商城列表,就自己写了一个瀑布流来加载列表。 这个列表在很多地方都需要用到,就...
    99+
    2022-11-13
  • 微信小程序实现瀑布流分页滚动加载
    本文实例为大家分享了微信小程序实现瀑布流分页滚动加载的具体代码,供大家参考,具体内容如下 两种分页方式 普通的分页效果会在页面底部提供点击下一页和上一页的按钮,在点击了按钮之后才会触...
    99+
    2022-11-12
  • js实现动态加载数据瀑布流
    本文实例为大家分享了js实现动态加载数据瀑布流的具体代码,供大家参考,具体内容如下 实现的功能 1.每次下拉到底部会自动加载下一页的数据2.图片逐渐显示 首先html <!DO...
    99+
    2022-11-13
  • js实现瀑布流触底动态加载数据
    本文实例为大家分享了js实现瀑布流触底动态加载数据的具体代码,供大家参考,具体内容如下 // onScrollEvent 滚动条事件 <div class="box" ...
    99+
    2022-11-12
  • 小程序中怎么实现瀑布流布局
    这篇文章将为大家详细讲解有关小程序中怎么实现瀑布流布局,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。widthFix:宽度不变,高度自动变化,保持原图宽高比不变。配合column-count...
    99+
    2023-06-19
  • 微信小程序瀑布流如何实现
    本篇内容介绍了“微信小程序瀑布流如何实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!最简单的实现方案,不适用有分页的场景。这个方案简单的原...
    99+
    2023-06-26
  • 小程序列表懒加载如何实现
    本文小编为大家详细介绍“小程序列表懒加载如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“小程序列表懒加载如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。小程序上的列表懒加载长列表我们经常接触到,长列...
    99+
    2023-06-29
  • uni-app开发壁纸图像小程序 瀑布流、懒加载展示
    标题:使用uni-app开发壁纸图像小程序:瀑布流与懒加载展示 引言: 在今天的移动应用市场中,壁纸图像小程序备受欢迎。为了提高用户体验,我们可以使用uni-app框架来开发这样的小程序,并实现瀑布流和懒加载展示功能。本文将介绍如何使用un...
    99+
    2023-08-31
    小程序 uni-app 前端
  • uniapp小程序实现瀑布流布局的思路与代码
    一、前言 现在写瀑布流算不算是炒冷饭啊? 我不管, 我就要写,谁也别想拦我。 瀑布流应该算是很常见的一种布局方法了,大致的思路也很好理解, 但是在小程序里面确有另外需要考虑的几个问...
    99+
    2022-11-12
  • 小程序列表懒加载的实现方式
    目录小程序上的列表懒加载分页加载用scroll事件监听用IntersectionObserver监听前端分页渲染用IntersectionObserver代替onReachBotto...
    99+
    2022-11-13
  • Android listview动态加载列表项实现代码
    最近了一个动态加载listview类表项的列子,分享出来大家学习学习,说说这个例子的实现过程,首先限定每次加载的列表项数据为10条数据,当拖动listview滚动到最后一条数据...
    99+
    2022-06-06
    列表 listview Android
  • 微信小程序实现可以截断的瀑布流组件的示例代码
    瀑布流是一种常见的布局方式,实现的方式有许多,比如直接分两列,然后控制在左右两列加入元素;还有一种方式就是通过绝对定位的方式来放置两边。本文所要介绍的瀑布流不同于常规的,因为瀑布流中...
    99+
    2022-11-13
  • 怎么在小程序中如何实现一个可截断的瀑布流组件
    这期内容当中小编将会给大家带来有关怎么在小程序中如何实现一个可截断的瀑布流组件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。瀑布流是一种常见的布局方式,实现的方式有许多,比如直接分两列,然后控制在左右两列...
    99+
    2023-06-28
  • 微信小程序如何实现列表上拉加载下拉刷新功能
    这篇文章给大家分享的是有关微信小程序如何实现列表上拉加载下拉刷新功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.列表(本部分内容出入官方文档)对于这个功能,微信小程序中并没...
    99+
    2022-10-19
  • SpringBoot使用Shiro实现动态加载权限详解流程
    目录一、序章二、SpringBoot集成Shiro1、引入相关maven依赖2、自定义Realm3、Shiro配置类三、shiro动态加载权限处理方法四、shiro中自定义角色与权限...
    99+
    2022-11-13
  • 小程序如何实现列表滚动上下联动效果
    这篇文章主要为大家展示了“小程序如何实现列表滚动上下联动效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“小程序如何实现列表滚动上下联动效果”这篇文章吧。1、背景最近在做公司的一款小程序,其中有...
    99+
    2023-06-22
  • 小程序滚动加载更多功能怎么实现
    本篇内容主要讲解“小程序滚动加载更多功能怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序滚动加载更多功能怎么实现”吧!需要用到的组件和apiscroll-view(可滚动视图区域)w...
    99+
    2023-06-26
  • 小程序使用scroll-view实现一个滑动列表功能
    目录滑动区域下拉刷新触底加载总结 滑动列表是每个应用必不可少的部分,而实现也是一件复杂的事情,根据上面的动图实现一个滑动列表,需要考虑到如下几点。 列表的滑动区域列表的下拉刷新列表的...
    99+
    2022-11-13
    scroll-view横向滚动 小程序scroll-view scroll-view 滑动列表
  • 微信小程序怎么实现滚动加载更多功能
    这篇文章主要为大家展示了微信小程序怎么实现滚动加载更多功能,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小程序怎么实现滚动加载更多功能”这篇文章吧。 需要用到的组件和apiscrol...
    99+
    2023-06-26
  • 微信小程序实现分类菜单激活状态随列表滚动而自动切换效果详解
    目录view结构js部分属性解释说明注意 这里主要用到微信小程序提供的SelectorQuery获取页面节点信息实现,组件用的是微信小程序的scroll-view 逻辑就是获取右侧盒...
    99+
    2023-01-28
    小程序菜单激活状态 微信小程序菜单激活状态
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作