- <a href="#c1" title="概要">概要</a>
- <a href="#c2" title="支持的平台">支持的平台</a>
- <a href="#c3" title="使用方式">使用方式</a>
- <a href="#c4" title="属性说明">属性说明</a>
- <a href="#c5" title="事件说明">事件说明</a>
- <a href="#c6" title="组件方法">组件方法</a>
- <a href="#c7" title="refresh的使用示例">refresh的使用示例</a>
- <a href="#c8" title="隐藏单项图片示例">隐藏单项图片示例</a>
- <a href="#c9" title="完整示例">完整示例</a>
- <a href="#c10" title="温馨提示">温馨提示</a>
- <a href="#c11" title="关注我,不迷路">关注我,不迷路</a>
- <a href="#c12" title="个人作品展示">个人作品展示</a>
<div id="c1"></div>
#### 概要
custom-waterfalls-flow是一个瀑布流插件,灵活配置、简单易用、兼容多端、同时兼容vue2和vue3。
最近在做项目的时候需要用到瀑布流,于是在插件市场找了一些,下载量最高的是用了定位来做的,我认为瀑布流可以不用定位去实现,于是我就自己写了该插件。经过反复的测试优化,最终搞定!
**设置列数:** 瀑布流的列数可以通过参数直接控制,实时监听,随改随生效。列数最小为2,最大默认为5,可以通过maxColumn参数去控制最大列数,理论上可以设置无限大,具体值自己拿捏。
**更新数据:** 瀑布流的每项数据,可以直接通过修改value,随改随生效,这样可以实现加载更多数据。已经渲染过的数据不会再次渲染,每次只会渲染新增的数据,这样避免了数据越多渲染越慢的情况。可以调用组件的```refresh()```方法进行数据刷新,注意vue2和vue3中调用子组件的方法有区别,也会在下面进行说明。
**展示方式:** 瀑布流可以是纯图片,可以使用插槽自定义文字描述,微信小程序与app、h5使用会有些区别,也会在下面具体说明。内容高度及排序都不用担心,会根据每项的内容高度自动计算。
**实现思路:** 通过配置列数,先渲染出每列,再计算每列的高度,最小的那列就加入一条数据进行渲染,然后再重复计算每列,高度小的加入数据...其实思路是很简单的。
uniapp插件市场地址:[https://ext.dcloud.net.cn/plugin?id=7594](https://ext.dcloud.net.cn/plugin?id=7594)
<div id="c2"></div>
#### 支持的平台
H5、app、微信小程序(这三个平台经过反复测试优化,兼容vue2和vue3)。
百度小程序:由于插槽不能循环渲染的限制,只支持纯图片瀑布流。
其他小程序:暂未测试,需要的可以自己测试和修改,思路肯定是没错的,主要是兼容插槽的问题。
nvue:暂不支持,后期可能会支持,目前需要的可以自己修改源码。
<div id="c3"></div>
#### 使用方式
**1、导入插件**
该组件符合uni_modules规范,使用Hbuilderx导入插件,导入到项目根目录中的uni_modules文件夹中。
**2、template中使用**
uni_modules规范在项目页面中直接使用,不需要单独引入注册组件。
***纯图片瀑布流使用***
```
<template>
<custom-waterfalls-flow :value="data.list"></custom-waterfalls-flow>
</template>
```
***微信小程序自定义内容使用***
微信小程序没有动态模板,使用for循环的方式进行渲染。
```
<template>
<custom-waterfalls-flow :value="data.list">
<view class="item" v-for="(item,index) in data.list" :key="index" slot="slot{{index}}">
<view class="title">{{item.title}}</view>
<view class="desc">{{item.desc}}</view>
</view>
</custom-waterfalls-flow>
</template>
```
***h5、app端自定义内容使用***
使用作用域插槽实现
```
<template>
<custom-waterfalls-flow :value="data.list">
<template v-slot:default="item">
<view class="item">
<view class="title">{{item.title}}</view>
<view class="desc">{{item.desc}}</view>
</view>
</template>
</custom-waterfalls-flow>
</template>
```
***小程序、h5、app等多端自定义内容使用***
条件渲染-多端同时兼容
```
<template>
<custom-waterfalls-flow :value="data.list">
<!-- #ifdef MP-WEIXIN -->
<view class="item" v-for="(item,index) in data.list" :key="index" slot="slot{{index}}">
<view class="title">{{item.title}}</view>
<view class="desc">{{item.desc}}</view>
</view>
<!-- #endif -->
<!-- #ifndef MP-WEIXIN -->
<template v-slot:default="item">
<view class="item">
<view class="title">{{item.title}}</view>
<view class="desc">{{item.desc}}</view>
</view>
</template>
<!-- #endif -->
</custom-waterfalls-flow>
</template>
```
<div id="c4"></div>
#### 属性说明
参数|说明|类型|是否必填|可选值|默认值
-|-|-|-|-|-|
value|渲染的列表|Array|是|-|-
column|列数|Number|否|2-maxColumn|2
maxColumn|最大列数|Number|否|>2|5
columnSpace|列之间的间距(单位是百分比)|Number|否|-|2
imageKey|列表中的图片字段的键名|String|否|-|image
hideImageKey|隐藏图片字段的键名|String|否|-|hide
seat|自定义文字的位置,1-图片上方,2-图片下方|Number|否|1/2|2
listStyle|单个展示项的样式|Object|否|示例:```{'background':'red'}```|-
<div id="c5"></div>
#### 事件说明
事件名称|说明|回调参数
-|-|-|
@loaded|图片加载完成事件|-
@wapperClick|单项点击事件|单项对应参数
@imageClick|图片点击事件|单项对应参数
<div id="c6"></div>
#### 组件方法
事件名称|说明|参数|使用场景
-|-|-|-
refresh|刷新数据,数据初始化,vue2中使用:```this.$refs.waterfallsFlowRef.refresh();```;vue3中使用:```const waterfallsFlowRef = ref(null);waterfallsFlowRef.value.refresh();```|-|下拉刷新等
<div id="c7"></div>
#### refresh的使用示例
***vue2中使用***
```
<template>
<view>
<button class="btn" type="default" @click="reset()">刷新数据</button>
<custom-waterfalls-flow ref="waterfallsFlowRef" :value="data.list"></custom-waterfalls-flow>
</view>
</template>
<script>
export default {
data() {
return {
data:{
list: [
{ image: 'https://via.placeholder.com/200x500.png/ff0000', title: '我是标题1', desc: '描述描述描述描述描述描述描述描述1' },
{ image: 'https://via.placeholder.com/200x200.png/2878ff', title: '我是标题2', desc: '描述描述描述描述描述描述描述描述2' }
]
}
}
},
reset(){
this.data.list = [{ image: 'https://via.placeholder.com/200x500.png/ff0000', title: '我是标题1', desc: '描述描述描述描述描述描述描述描述1' }]
this.$refs.waterfallsFlowRef.refresh();
}
}
</script>
```
***vue3中使用***
```
<template>
<view>
<button class="btn" type="default" @click="reset()">刷新数据</button>
<custom-waterfalls-flow ref="waterfallsFlowRef" :value="data.list"></custom-waterfalls-flow>
</view>
</template>
<script setup>
import { reactive, ref } from 'vue';
const data = reactive({
list: [
{ image: 'https://via.placeholder.com/200x500.png/ff0000', title: '我是标题1', desc: '描述描述描述描述描述描述描述描述1' },
{ image: 'https://via.placeholder.com/200x200.png/2878ff', title: '我是标题2', desc: '描述描述描述描述描述描述描述描述2' }
]
});
const waterfallsFlowRef = ref(null);
function reset(){
data.list = [{ image: 'https://via.placeholder.com/200x500.png/ff0000', title: '我是标题1', desc: '描述描述描述描述描述描述描述描述1' }]
waterfallsFlowRef.value.refresh();
}
</script>
```
<div id="c8"></div>
#### 隐藏单项图片示例
在数据列表中配置```hide:true```或者```hide:1```,就可以达到不显示图片的效果。支持使用参数hideImageKey自定义键名称,那就使用:```定义的键名称:true```或者```定义的键名称:1```。
```
<template>
<custom-waterfalls-flow :value="data.l
没有合适的资源?快使用搜索试试~ 我知道了~
基于springboot+vue酒店预约管理系统源码+数据库(毕业设计).zip
共779个文件
js:274个
vue:171个
java:170个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 42 浏览量
2023-04-20
15:13:29
上传
评论 7
收藏 15.29MB ZIP 举报
温馨提示
基于springboot+vue酒店预约管理系统源码+数据库(毕业设计).zip 获得导师认可的高分毕业设计项目,代码完整下载即用,确保可以运行。 基于springboot+vue酒店预约管理系统源码+数据库(毕业设计).zip 获得导师认可的高分毕业设计项目,代码完整下载即用,确保可以运行。基于springboot+vue酒店预约管理系统源码+数据库(毕业设计).zip 获得导师认可的高分毕业设计项目,代码完整下载即用,确保可以运行。基于springboot+vue酒店预约管理系统源码+数据库(毕业设计).zip 获得导师认可的高分毕业设计项目,代码完整下载即用,确保可以运行。基于springboot+vue酒店预约管理系统源码+数据库(毕业设计).zip 获得导师认可的高分毕业设计项目,代码完整下载即用,确保可以运行。基于springboot+vue酒店预约管理系统源码+数据库(毕业设计).zip 获得导师认可的高分毕业设计项目,代码完整下载即用,确保可以运行。基于springboot+vue酒店预约管理系统源码+数据库(毕业设计).zip 获得导师认可的高分毕
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot+vue酒店预约管理系统源码+数据库(毕业设计).zip (779个子文件)
mvnw.cmd 6KB
global.css 5KB
global.css 4KB
iconfont.css 591B
.gitignore 378B
.gitignore 378B
.gitignore 231B
.gitignore 231B
.gitignore 221B
index.html 692B
index.html 692B
index.html 672B
index.html 400B
favicon.ico 4KB
favicon.ico 4KB
maven-wrapper.jar 50KB
RoomServiceImpl.java 23KB
OrderServiceImpl.java 20KB
IsolationInfoServiceImpl.java 17KB
DiscountsServiceImpl.java 15KB
ReviewServiceImpl.java 13KB
IsolationInfoVO.java 10KB
OrderVO.java 10KB
CheckRecordsServiceImpl.java 10KB
DetailVO.java 9KB
HotelServiceImpl.java 9KB
MaterialsApplyServiceImpl.java 9KB
UserServiceImpl.java 8KB
JWTAuthenticationFilter.java 8KB
HotelVO.java 8KB
DeptServiceImpl.java 8KB
ReviewVO.java 8KB
GlobalExceptionHandler.java 8KB
MenuServiceImpl.java 7KB
RoomTypeVO.java 7KB
DiscountsVO.java 6KB
AuthController.java 6KB
IsolationInfoPO.java 6KB
ReviewPO.java 6KB
SecurityConfig.java 6KB
OrderController.java 6KB
DiscountUserServiceImpl.java 5KB
MaterialsApplyVO.java 5KB
AuthUtils.java 5KB
OrderPO.java 5KB
MenuVO.java 5KB
EmailUtils.java 5KB
RoomTypeServiceImpl.java 5KB
ChartServiceImpl.java 5KB
RoomTypePO.java 5KB
WalletServiceImpl.java 5KB
UserVO.java 5KB
MavenWrapperDownloader.java 5KB
WebSocketServer.java 5KB
JWTAuthorizationFilter.java 5KB
HotelPO.java 5KB
RedisUtil.java 5KB
BedTypeServiceImpl.java 5KB
LogsService.java 5KB
MaterialsApplyPO.java 5KB
RoomVO.java 5KB
LogsVO.java 4KB
OrderCommentVO.java 4KB
CheckRecordsController.java 4KB
RoomController.java 4KB
DiscountsPO.java 4KB
MenuDeptServiceImpl.java 4KB
IsolationInfoController.java 4KB
CheckRecordsVO.java 4KB
UserPO.java 4KB
OrderCommentServiceImpl.java 4KB
ChartController.java 4KB
BedTypeVO.java 4KB
DeptVO.java 4KB
JwtTokenUtils.java 3KB
CollectionServiceImpl.java 3KB
RoomPO.java 3KB
OrderCommentPO.java 3KB
ReviewController.java 3KB
MenuPO.java 3KB
Reply.java 3KB
CheckRecordsExcelListener.java 3KB
QiNiuUtils.java 3KB
CheckRecordsPO.java 3KB
DiscountUserAndDiscountsVO.java 3KB
LogsController.java 3KB
MaterialsApplyController.java 3KB
DiscountUserVO.java 3KB
DiscountsController.java 3KB
MenuDeptVO.java 3KB
BedTypePO.java 3KB
AlipayConfig.java 3KB
DiscountUserPO.java 3KB
MenuController.java 3KB
CollectionPO.java 3KB
DeptPO.java 3KB
RoomTypeController.java 3KB
CollectionVO.java 3KB
RedisConfig.java 3KB
ObjAutoFillHandler.java 2KB
共 779 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
- youyou06082024-01-12资源很不错,内容和描述一致,值得借鉴,赶紧学起来!
- clear45672023-06-11总算找到了自己想要的资源,对自己的启发很大,感谢分享~
- 2301_774850002023-07-06资源内容详细全面,与描述一致,对我很有用,有一定的使用价值。
盈梓的博客
- 粉丝: 6821
- 资源: 1241
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IMG_20240425_190941.jpg
- 基于stm32的pid控制算法附带串口控制台
- 实验项目一:线性表(模板 ).docx
- 基于LM317A设计交流220V输入可调5V-12V直流输出稳压电源电路multisim10仿真源文件.zip
- Screenshot_2024-04-25-17-04-18-55_2332cb9b27b851b548ba47a91682926c.jpg
- -基于AVR单片机的LNG加液机控制器设计.pdf
- ThePowerOfNow-EckhartTolle.mobi
- BLOCK_TYPE_HEARTBEAT_D70A3465D4EE4E9_046141_dump_1st.dmp
- 项目方法测试调用接口工具
- studyupdate
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功