npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@lhlyu/vue-virtual-waterfall

v1.0.6

Published

vue3 virtual waterfall component

Downloads

238

Readme

vue-virtual-waterfall

一款vue3虚拟瀑布流组件

npm

English Doc

示例

使用

pnpm add @lhlyu/vue-virtual-waterfall

  • 局部引用
import { VirtualWaterfall } from '@lhlyu/vue-virtual-waterfall'
  • 全局引用
import VueVirtualWaterfall from '@lhlyu/vue-virtual-waterfall'

app.use(VueVirtualWaterfall)
  • 使用

<template>
    <VirtualWaterfall :items="items" :calcItemHeight="calcItemHeight">
        <template #default="{ item }: { item: ItemOption }">
            <div class="card">
                <img :src="item.img" />
            </div>
        </template>
    </VirtualWaterfall>
</template>
  • Nuxt3中使用

例子

注意!!!

VirtualWaterfall 组件想要实现虚拟列表,包裹它的容器必须指明固定的高度,滚动事件可以绑定在这个容器上,如果这个组件挂在到body下,同样需要指明body的高度,滚动事件可以绑定在window

文档

  • 属性

| 字段 | 类型 | 默认值 | 说明 | |--------------------|--------------------------------------------|-----------------------------------------|---------------------------| | virtual | boolean | true | 是否启用虚拟列表 | | rowKey | string | 'id' | v-for需要用到key | | gap | number | 15 | 每个item之间的间隔 | | padding | number or string | 15 or '15px 15px' | 容器内边距 | | preloadScreenCount | [number, number] | [0:0] | 预加载屏数量[上面预加载屏数,下面预加载屏数] | | itemMinWidth | number | 220 | 每个item最小宽度 | | maxColumnCount | number | 10 | 允许的最大列数 | | minColumnCount | number | 2 | 允许的最小列数 | | items | any[] | [] | 数据 | | calcItemHeight | (item: any, itemWidth: number) => number | (item: any, itemWidth: number) => 250 | 计算item高度的方法 |

  • 插槽

| 事件 | 类型 | 说明 | |---------|--------------------------------|---------| | default | { item: any, index: number } | 自定义默认内容 |