OverflowList

OverflowList 是一个行为组件,用于展示列表,并支持自适应来展示尽可能多的项目。因过长而溢出项目将折叠为一个元素。当检测到调整大小时,可见项将被重新计算。

设计文档(新窗口打开)

代码演示

如何引入

import { OverflowList } from '@chenzy-design/svelte';

折叠模式 - 默认

通过 renderMode="collapse" (默认) 来实现内容的折叠。

0 100


折叠模式 - 方向

collapse 模式下支持 collapseFrom 设置折叠方向。

0 100


折叠模式 - 最小展示的数目

collapse 模式下支持 minVisibleItems 设置最小展示的数目。

0 100


滚动模式

通过 renderMode="scroll" 来使用滚动模式的折叠列表。如果需要 scrollIntoView,可以通过选择器 .item-cls[data-scrollkey="${key}"] 来选取。

0 100


alarm
bookmark
camera
duration
edit
folder

API 参考

属性说明类型默认值
class类名string-
renderMode渲染模式collapse | scrollcollapse
styleOverflowList 的样式string-

renderMode=‘collapse’

属性说明类型默认值
collapseFrom折叠方向start | endend
items渲染项目Record<string, any>[]-
minVisibleItems最小展示的可见项数目number0
onOverflow溢出回调(overflowItems: any[]) => void-
overflowRenderer溢出项的自定义渲染模板Snippet-
visibleItemRenderer展示项的自定义渲染模板Snippet<[item, index]>-

renderMode=‘scroll’

属性说明类型默认值
items渲染项目,要求必含 key 项Record<string, any>[]-
onIntersect溢出回调(res: Record<string, IntersectionObserverEntry>) => void-
onVisibleStateChange隐藏显示状态变化回调(visibleState: Map<string, boolean>) => void-
overflowRenderer溢出项的自定义渲染模板(两端各调用一次)Snippet-
threshold触发溢出回调的阈值number0.75
visibleItemRenderer展示项的自定义渲染模板Snippet<[item, index]>-
wrapperClass滚动 wrapper 的类名string-
wrapperStyle滚动 wrapper 的样式string-