uniapp商品瀑布流

这是一篇关于uniapp中实现商品瀑布流布局的文章,介绍了一款基于组件复用和页面生命周期的模板,结合了黄河爱浪的waterfal源码和mescroll滚动插件,提供了主页面index.vue的实现细节和实际效果展示。
摘要由CSDN通过智能技术生成

这是一款简单又好用的瀑布流布局模板,通过页面模板+组件的方式。充分利用组件的复用性和页面的生命周期。
源码来自于作者:黄河爱浪的瀑布流布局-waterfal
本文对源码和mescroll进行了结合,总结出来方便下次可以直接使用。mescroll的使用参考这篇文章

主页面:index.vue

<template>
	<view>
		<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback">
			<helang-waterfall :newList="newList" :pageNum="pageNum"></helang-waterfall>
		</mescroll-body>
	</view>
</template>

<script>
	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
	import helangWaterfall from "@/uni_modules/helang-waterfall/components/helang-waterfall/helang-waterfall"
	export default {
     
		mixins: [MescrollMixin], // 使用mixin
		components: {
     
			"helang-waterfall": helangWaterfall
		},
		data() {
     
			return {
     
				newList: [],
				pageNum: 1,//页码
			}
		},
		methods: {
     
			upCallback(page) {
     
				this.pageNum = page.num;
				this.$http.post('/api/Shop/goodsList', {
     
					page: page.num,
					pageSize: 10,
				}).then(res => {
     
					if (res.code == 1) {
     
						let arr = res.data.list;
						this.newList = arr; // 这里只需将数据传到子组件,由子组件内方法判断是左还是右
						this.$nextTick(() => {
     
							this.mescroll.endSuccess(arr.length)
						})
					}
				}).catch((e) => {
     
					this.mescroll.endErr();
				});
			},
		}
	}
</script>

<style lang="scss">
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值