1.1.26 • Published 5 months ago

vue3-waterfall3 v1.1.26

Weekly downloads
-
License
-
Repository
-
Last release
5 months ago

vue3-waterfall3 瀑布流插件

介绍

vue3-waterfall3 是 vue+ts 构建的瀑布组件在 pc 端能够根据屏幕宽度做自适应变化调整,主要采取的方案就是图片预加载

插件下载

npm install vue3-waterfall3

组件引入

<template>
  <water-fall>
  </water-fall>
</template>

<script setup lang="ts">
import { ref } from 'vue';
import { WaterFall } from '@/components/index';

代码演示

<template>
  <water-fall
    v-model:imgs-arr="data"
    :maxCols="8"
    :gap="10"
    v-slot:default="props"
    :reachBottomDistance="100"
    @scrollReachBottom="scrollReachBottom"
    @img-error="imgError"
  >
    <div>
      <span> 第: {{ props.index + 1 }} 张</span>
      <span> 描述 {{ props.value.text }} </span>
    </div>
  </water-fall>
</template>
<script setup lang="ts">
import { ref } from 'vue';
import { WaterFall } from '@/components/index';



const imgList = [
  {
    src: 'https://ts3.cn.mm.bing.net/th?id=OIP-C.ZkoPhpKfJwsvGmpm8RsragHaFp&w=286&h=218&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '天使'
  }, {
    src: 'https://ts3.cn.mm.bing.net/th?id=OIP-C.bVb769JBdzVZYuksxZ2Y-AHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '花园里可爱美女鞠婧祎'
  }, {
    src: 'https://ts3.cn.mm.bing.net/th?id=OIP-C.Md86Wi2EYiKHNPldRZiD4gHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '甜美可爱美女'
  }, {
    src: 'https://ts1.cn.mm.bing.net/th?id=OIP-C.Zte3ljd4g6kqrWWyg-8fhAHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '复古风格美女杨幂'
  }, {
    src: 'https://ts2.cn.mm.bing.net/th?id=OIP-C.th6FlIUU3ebI8pl4ccYHZgHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '清新可爱美女鞠婧祎'
  }, {
    src: 'https://ts4.cn.mm.bing.net/th?id=OIP-C.Fx6P4aoVRKGGircQ7tgtggHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '刘诗诗 一手托腮'
  }, {
    src: 'https://ts3.cn.mm.bing.net/th?id=OIP-C.E6m4s0dlHQhce_kPus5WJAHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '高颜值气质美女 侧脸'
  }, {
    src: 'https://ts3.cn.mm.bing.net/th?id=OIP-C.E6m4s0dlHQhce_kPus5WJAHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '室内游泳池 美女 刘亦菲 侧脸 白色裙子'
  }, {
    src: 'https://tse2-mm.cn.bing.net/th/id/OIP-C.7sAjIeoQYWnXV_QnuYs1jQHaEK?w=290&h=180&c=7&r=0&o=5&dpr=1.3&pid=1.7',
    text: '赵露思 猫 鲜花 '
  }, {
    src: 'https://tse4-mm.cn.bing.net/th/id/OIP-C.d95XU9rPpliLu_FNqV9hHQHaFN?w=231&h=180&c=7&r=0&o=5&dpr=1.3&pid=1.7',
    text: '明亮客厅 沙发 美女 刘亦菲 '
  }, {
    src: 'https://tse1-mm.cn.bing.net/th/id/OIP-C.EYdT7l9cizAp4u7dRlA8ywHaD5?w=309&h=180&c=7&r=0&o=5&dpr=1.3&pid=1.7',
    text: '清新绿草地美女4K'
  },
  {
    src: 'https://ts3.cn.mm.bing.net/th?id=OIP-C.ZkoPhpKfJwsvGmpm8RsragHaFp&w=286&h=218&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '天使'
  }, {
    src: 'https://ts3.cn.mm.bing.net/th?id=OIP-C.bVb769JBdzVZYuksxZ2Y-AHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '花园里可爱美女鞠婧祎'
  }, {
    src: 'https://ts3.cn.mm.bing.net/th?id=OIP-C.Md86Wi2EYiKHNPldRZiD4gHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '甜美可爱美女'
  }, {
    src: 'https://ts1.cn.mm.bing.net/th?id=OIP-C.Zte3ljd4g6kqrWWyg-8fhAHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '复古风格美女杨幂'
  }, {
    src: 'https://ts2.cn.mm.bing.net/th?id=OIP-C.th6FlIUU3ebI8pl4ccYHZgHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '清新可爱美女鞠婧祎'
  }, {
    src: 'https://ts4.cn.mm.bing.net/th?id=OIP-C.Fx6P4aoVRKGGircQ7tgtggHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '刘诗诗 一手托腮'
  }, {
    src: 'https://ts3.cn.mm.bing.net/th?id=OIP-C.E6m4s0dlHQhce_kPus5WJAHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '高颜值气质美女 侧脸'
  }, {
    src: 'https://ts3.cn.mm.bing.net/th?id=OIP-C.E6m4s0dlHQhce_kPus5WJAHaEo&w=316&h=197&c=8&rs=1&qlt=90&o=6&dpr=1.3&pid=3.1&rm=2',
    text: '室内游泳池 美女 刘亦菲 侧脸 白色裙子'
  }, {
    src: 'https://tse2-mm.cn.bing.net/th/id/OIP-C.7sAjIeoQYWnXV_QnuYs1jQHaEK?w=290&h=180&c=7&r=0&o=5&dpr=1.3&pid=1.7',
    text: '赵露思 猫 鲜花 '
  }, {
    src: 'https://tse4-mm.cn.bing.net/th/id/OIP-C.d95XU9rPpliLu_FNqV9hHQHaFN?w=231&h=180&c=7&r=0&o=5&dpr=1.3&pid=1.7',
    text: '明亮客厅 沙发 美女 刘亦菲 '
  }, {
    src: 'https://tse1-mm.cn.bing.net/th/id/OIP-C.EYdT7l9cizAp4u7dRlA8ywHaD5?w=309&h=180&c=7&r=0&o=5&dpr=1.3&pid=1.7',
    text: '清新绿草地美女4K'
  }
]
const data = ref<any[]>([])
data.value = imgList


const scrollReachBottom = () => {
  console.log('加载图片');
  data.value = data.value.concat(imgList)
}

const imgError = (item: any) => {
  console.log('加载失败', item);

}
</script>

效果图

npm.io

API

Interfaces​

属性说明类型默认值是否必传
imgsArr图片数组any[]true
srcKey图片地址的 keystring'src'false
imgWidth图片宽度的number240false
width容器宽度numberfalse
height容器高度numberfalse
gap图片间隙number20false
mobileGap移动端图片间隙number8false
maxCols最大列数number5false
loadingTimeOut加载超时时间number5000false
hrefKey图片链接的 keystring'href'false
isRouterLink是否使用 router-linkbooleanfalsefalse
linkRangeard img custom 自定义通过 slot 自定义链接范围stringcardfalse
cardAnimationClasscard 动画 classstring[] undefined'default-card-animation'false
reachBottomDistance滚动触底距离,触发加载新图片number20false
loadingDotCount加载中的点的个数number3false
loadingDotStyle加载中的点的样式objectfalse

Events

事件名说明回调参数
preloaded图片加载完毕的回调
imgError图片加载失败的回调item :加载失败的该项图片
bindClick图片加载完毕的回调e: 点击该项的实例对象,{ index::列表项.value:元数据}
scrollReachBottom触动事件的回调entries: 触发该回调的实例

slot

事件名称名说明
loading加载数据动画
waterfall-head列表头部项内容
1.1.9

5 months ago

1.1.8

5 months ago

1.1.7

5 months ago

1.1.6

5 months ago

1.1.5

5 months ago

1.1.4

5 months ago

1.1.3

5 months ago

1.1.2

5 months ago

1.1.12

5 months ago

1.1.11

5 months ago

1.1.10

5 months ago

1.1.16

5 months ago

1.1.15

5 months ago

1.1.14

5 months ago

1.1.13

5 months ago

1.1.19

5 months ago

1.1.18

5 months ago

1.1.23

5 months ago

1.1.22

5 months ago

1.1.21

5 months ago

1.1.20

5 months ago

1.1.26

5 months ago

1.1.25

5 months ago

1.1.24

5 months ago

1.1.1

8 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

8 months ago

0.0.0

8 months ago