ScrollList

滚动列表。

设计文档(新窗口打开)

代码演示

如何引入

import { ScrollList, ScrollItem } from '@chenzy-design/svelte';

基本使用

滚动列表提供了一个类似于 iOS 操作系统的滚动选择模式,同时支持滚动至指定窗口位置选择与点击选择。

无限滚动列表
  • 上午
  • 下午
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59

普通列表模式

mode="normal" 时点击项即选中并高亮背景,不吸附居中。

hello world
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

单个无限滚动列表

cycled 开启无限循环,motion={false} 关闭滚动缓动动画,直接定位。

单个无限滚动列表
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59

API 参考

ScrollList

属性说明类型默认值
bodyHeightbody 高度string | number-
class样式类名string-
footer底部 addonstring | Snippet-
header头部 addonstring | Snippet-
style内联样式string-

ScrollItem

属性说明类型默认值
aria-label该列的无障碍标签string-
class样式类名string-
cycled是否为无限循环,仅在 mode 为 wheel 时生效booleanfalse
list列表内容ItemData[][]
mode模式选择normal | wheelwheel
motion是否开启滚动动画booleantrue
onSelect选中回调(data: ItemData) => void-
selectedIndex选中项的索引number0
style内联样式string-
transform对选中项的变换,返回值会作为文案进行显示(value: any, text: string) => stringv => v

ItemData

属性说明类型默认值
disabled该项是否被禁止选择boolean-
text每一项的文案string-
transform该项处于选中状态时的变换,返回值会作为文案进行显示;ScrollItem 组件如果同时传入会优先选择 ItemData 中的 transform 方法(value: any, text: string) => stringv => v
value每一项的值any-

Accessibility

ARIA

  • ScrollItem 支持传入 aria-label,指定该列标签
  • ScrollItem 使用 aria-disabled 表示该项目是否被禁用
  • ScrollItem 使用 aria-selected 表示该项目是否被选中

设计变量

变量
默认值
用法
--cd-transition-delay-scroll-list-selected-item-bg 0ms 滚动列表选中项背景色过渡延迟
--cd-transition-duration-scroll-list-selected-item-bg var(--cd-motion-duration-none) 滚动列表选中项背景色过渡时长
--cd-transition-function-scroll-list-selected-item-bg var(--cd-motion-ease-standard) 滚动列表选中项背景色过渡曲线(easeOut)
显示第 1 条-第 3 条,共 3 条
  • 1