wc-waterfall
是一个使用 web-component
编写的高性能瀑布流组件
它可以支持在各种框架中运行,如 React
Vue
SolidJs
npm i wc-waterfall
<script src="https://cdn.jsdelivr.net/npm/wc-waterfall/dist/index.iife.js"></script>
import 'wc-waterfall'
<wc-waterfall gap="10" cols="3"> <div>01</div> <div>02</div> <div>03</div> <div>04</div> <div>05</div> <div>06</div> </wc-waterfall>
// App.tsx import 'wc-waterfall' export default function MyApp() { return ( <wc-waterfall gap={10} cols={3}> <div>01</div> <div>02</div> <div>03</div> <div>04</div> <div>05</div> <div>06</div> </wc-waterfall> ) }
TypeScript 支持 (JSX/TSX)
// shims.d.ts declare namespace JSX { interface IntrinsicElements { 'wc-waterfall': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement> & import('wc-waterfall').WaterfallProps, HTMLElement>; } }
// main.ts import 'wc-waterfall'
<!-- App.vue --> <template> <wc-waterfall :gap="10" :cols="3"> <div>01</div> <div>02</div> <div>03</div> <div>04</div> <div>05</div> <div>06</div> </wc-waterfall> </template>
// vite.config.ts import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' export default defineConfig({ plugins: [ vue({ template: { compilerOptions: { isCustomElement: (tag) => tag.startsWith('wc-') } }, }) ], })
- import 'wc-waterfall' + if (typeof document != 'undefined') import('wc-waterfall')
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
cols | number | 2 | 列数 |
gap | number | [number, number] | 4 | 单元格间距 |
如果这个项目对你有帮助,请给一个 ⭐️!
如果你有任何问题或请求,或者想要贡献,请随时提出问题或给我一个 Pull Request。