logoAnt Design

⌘ K
  • 设计
  • 研发
  • 组件
  • 博客
  • 资源
  • 国内镜像
YouMindTRACTIANLobeHubCodeRabbit
6.6.0
  • 组件总览
  • 更新日志
    v6.6.0
  • 通用
    • Button按钮
    • FloatButton悬浮按钮
    • Icon图标
    • Typography排版
  • 布局
    • Divider分割线
    • Flex弹性布局
    • Grid栅格
    • Layout布局
    • Masonry瀑布流
      6.0.0
    • Space间距
    • Splitter分隔面板
  • 导航
    • Anchor锚点
    • Breadcrumb面包屑
    • Dropdown下拉菜单
    • Menu导航菜单
    • Pagination分页
    • Steps步骤条
    • Tabs标签页
  • 数据录入
    • AutoComplete自动完成
    • Cascader级联选择
    • Checkbox多选框
    • ColorPicker颜色选择器
    • DatePicker日期选择框
    • Form表单
    • Input输入框
    • InputNumber数字输入框
    • Mentions提及
    • Radio单选框
    • Rate评分
    • Select选择器
    • Slider滑动输入条
    • Switch开关
    • TimePicker时间选择框
    • Transfer穿梭框
    • TreeSelect树选择
    • Upload上传
  • 数据展示
    • Avatar头像
    • Badge徽标数
    • Calendar日历
    • Card卡片
    • Carousel走马灯
    • Collapse折叠面板
    • Descriptions描述列表
    • Empty空状态
    • Image图片
    • List列表
      废弃
    • Listy虚拟列表
      6.6.0
    • Popover气泡卡片
    • QRCode二维码
    • Segmented分段控制器
    • Statistic统计数值
    • Table表格
    • Tag标签
    • Timeline时间轴
    • Tooltip文字提示
    • Tour漫游式引导
    • Tree树形控件
  • 反馈
    • Alert警告提示
    • Drawer抽屉
    • Message全局提示
    • Modal对话框
    • Notification通知提醒框
    • Popconfirm气泡确认框
    • Progress进度条
    • Result结果
    • Skeleton骨架屏
    • Spin加载中
    • Watermark水印
  • 其他
    • Affix固钉
    • App包裹组件
    • BorderBeam边框流光
      6.4.0
    • ConfigProvider全局化配置
    • Util工具类
何时使用
代码演示
基础用法
虚拟滚动
分组与吸顶
复杂内容
无限加载
自定义语义结构的样式和类
API
Group
Ref
Semantic DOM
主题变量(Design Token)

Listy
虚拟列表

高性能列表,支持分组,并可为长列表开启虚拟滚动。
使用import { Listy } from 'antd';
反馈
components/listy提交问题待解决
文档
编辑此页LLMs.md
版本自 6.6.0 起支持
List列表Popover气泡卡片

相关资源

Ant Design X
Ant Design Charts
Ant Design Pro
Pro Components
Ant Design Mobile
Ant Design Mini
Ant Design Web3
Ant Design Landing-首页模板集
Scaffolds-脚手架市场
Umi-React 应用开发框架
dumi-组件/文档研发工具
qiankun-微前端框架
Ant Motion-设计动效
国内镜像站点 🇨🇳

社区

Awesome Ant Design
Medium
X
yuque logoAnt Design 语雀专栏
Ant Design 知乎专栏
体验科技专栏
seeconf logoSEE Conf-蚂蚁体验科技大会
加入我们

帮助

GitHub
更新日志
常见问题
For Agents
报告 Bug
议题
讨论区
StackOverflow
SegmentFault

Ant XTech logo更多产品

yuque logo语雀-构建你的数字花园
AntV logoAntV-数据可视化解决方案
Egg logoEgg-企业级 Node.js 框架
Kitchen logoKitchen-Sketch 工具集
Galacean logoGalacean-互动图形解决方案
WeaveFox logoWeaveFox-前端智能研发
xtech logo蚂蚁体验科技
主题编辑器
Made with ❤ by
蚂蚁集团和 Ant Design 开源社区
loading

何时使用

  • 需要渲染长列表,又不想为每一行都付出挂载成本时 —— 开启 virtual 后只渲染视口内的行。
  • 列表需要分组,并让分组标题吸顶时。
  • 需要以命令式方式控制滚动位置(跳到某一项、某个分组或某个像素位置)时。

代码演示

API

自 antd@6.6.0 版本开始提供该组件。

通用属性参考:通用属性

参数说明类型默认值版本全局配置
classNames语义化结构 class{ root?, item?, groupHeader? }-6.6.06.6.0
group分组配置,见下方 GroupGroup<T, K>-6.6.0×
height滚动容器高度,内容超出后滚动number-6.6.0×
itemRender渲染单行(item: T, index: number) => ReactNode-6.6.0×
items列表数据源T[][]6.6.0×
rowKey每一项的唯一键,字段名或取值函数keyof T | (item: T) => Key-6.6.0×
sticky分组标题是否吸顶booleanfalse6.6.0×
styles语义化结构 style{ root?, item?, groupHeader? }-6.6.06.6.0
virtual是否开启虚拟滚动,仅渲染视口内的行,需配合 height 使用booleanfalse6.6.0×
onScroll原生滚动事件回调React.UIEventHandler<HTMLElement>-6.6.0×

Group

参数说明类型
key计算每条数据所属的分组键,返回值相同的数据归为一组(item: T) => K
title渲染分组标题,入参为分组键与该组数据(groupKey: K, items: T[]) => ReactNode

Ref

名称说明类型
scrollTo滚动到某个位置、某一项或某个分组(config?: ListyScrollToConfig) => void

ListyScrollToConfig 为以下之一:

形态说明
number滚动到某个像素位置(scrollTop)
{ top?, left? }滚动到绝对像素坐标
{ key, align?, offset? }滚动到 rowKey 等于 key 的数据项
{ groupKey, align?, offset? }滚动到某个分组标题

align 可选 'top' | 'bottom' | 'auto';offset 为对齐后额外的像素偏移。

Semantic DOM

Design
Olivia
Liam
Emma
Engineering
Noah
Ava
Ethan
  • root
    根元素,即滚动容器,设置字体与相对定位
  • item
    条目元素,设置内间距、分割线与悬浮背景
  • groupHeader
    分组标题元素,设置吸顶定位与背景色

主题变量(Design Token)

组件 Token如何定制?
Token 名称描述类型默认值
itemPaddingBlock列表项的纵向内间距。number12
itemPaddingInline列表项的横向内间距。number16
全局 Token如何定制?
Token 名称描述类型默认值
colorBgContainer组件的容器背景色,例如:默认按钮、输入框等。务必不要将其与 `colorBgElevated` 混淆。string#ffffff
colorFillAlter控制元素替代背景色。stringrgba(0,0,0,0.02)
colorSplit用于作为分割线的颜色,此颜色和 colorBorderSecondary 的颜色一致,但是用的是透明色。stringrgba(5,5,5,0.06)
colorText最深的文本色。为了符合W3C标准,默认的文本颜色使用了该色,同时这个颜色也是最深的中性色。stringrgba(0,0,0,0.88)
colorTextDescription控制文本描述字体颜色。stringrgba(0,0,0,0.45)
controlItemBgHover控制组件项在鼠标悬浮时的背景颜色。stringrgba(0,0,0,0.04)
fontFamilyAnt Design 的字体家族中优先使用系统默认的界面字体,同时提供了一套利于屏显的备用字体库,来维护在不同平台以及浏览器的显示下,字体始终保持良好的易读性和可读性,体现了友好、稳定和专业的特性。string-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'
fontSize设计系统中使用最广泛的字体大小,文本梯度也将基于该字号进行派生。number14
fontWeightStrong控制标题类组件(如 h1、h2、h3)或选中项的字体粗细。number600
lineHeight文本行高number1.5714285714285714
lineType用于控制组件边框、分割线等的样式,默认是实线stringsolid
lineWidth用于控制组件边框、分割线等的宽度number1
motionDurationMid动效播放速度,中速。用于中型元素动画交互string0.2s
motionEaseInOut预设动效曲率string
Cubic Bezier Visualizer
cubic-bezier(0.645, 0.045, 0.355, 1)External Link Icon
paddingXS控制元素的特小内间距。number8
Item 0
Item 1
Item 2
Item 3
Item 4
Item 5
Item 6
Item 7
Item 8
Item 9
Item 10
Item 11
Item 12
Item 13
Item 14
Item 15
Item 16
Item 17
Item 18
Item 19
基础用法

基础示例,渲染一个简单的列表。

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Item 0
Item 1
Item 2
Item 3
Item 4
Item 5
Item 6
Item 7
Item 8
Item 9
虚拟滚动

一万条数据的长列表。通过设置 virtual 和 height 开启虚拟滚动,仅渲染视口内的行。

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
A
AAaron Baker
AAlice Adams
B
BBella Carter
BBrian Diaz
C
CChloe Evans
CColin Foster
D
DDaisy Garcia
DDavid Hayes
E
EElena Ingram
EEric Jensen
F
FFiona Kim
FFrank Lopez
G
GGrace Miller
GGavin Nguyen
H
HHannah Ortiz
HHenry Parker
I
IIris Quincy
IIvan Reed
J
JJack Smith
JJulia Turner
分组与吸顶

通过 group 从数据项中取出分组键并渲染分组标题,开启 sticky 后分组标题会在滚动时吸顶。

O
Olivia08:00
commented on your merge request
L
Liam09:17
invited you to the quarterly planning review. Please confirm your availability before Friday so the agenda can be finalized in time.
E
Emma10:34
mentioned you in the design review thread
N
Noah11:51
assigned you a task that is due next Monday. It covers the remaining accessibility issues found in the latest audit.
A
Ava12:08
starred the report you shared yesterday
E
Ethan13:25
requested changes on your pull request. Most of the comments are about naming and the test coverage of the new cache layer.
S
Sophia14:42
commented on your merge request
L
Lucas15:59
invited you to the quarterly planning review. Please confirm your availability before Friday so the agenda can be finalized in time.
O
Olivia16:16
mentioned you in the design review thread
L
Liam17:33
assigned you a task that is due next Monday. It covers the remaining accessibility issues found in the latest audit.
E
Emma18:50
starred the report you shared yesterday
N
Noah19:07
requested changes on your pull request. Most of the comments are about naming and the test coverage of the new cache layer.
复杂内容

itemRender 可以渲染任意复杂的内容,行高不必相同。

Item 0
Item 1
Item 2
Item 3
Item 4
Item 5
Item 6
Item 7
Item 8
Item 9
50 items loaded
无限加载

在 onScroll 中判断列表即将滚动到底部时,按需加载下一页数据,实现无限滚动。配合 virtual,数据积累也只渲染视口内的行。

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Design
Olivia
Liam
Emma
Engineering
Noah
Ava
Ethan
Marketing
Sophia
Lucas
自定义语义结构的样式和类

通过 classNames 和 styles 自定义 Listy 的语义化结构样式。

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon