ng-zorro-antd CheckList 任务清单组件:顺序流程引导的完整使用指南
UI组件前端【免费下载链接】ng-zorro-antdAngular UI Component Library based on Ant Design项目地址https://gitcode.com/gh_mirrors/ng/ng-zorro-antd点击查看免费下载CheckList任务清单是 ng-zorro-antd 内置的“特色组件”专门用于梳理复杂页面中的顺序流程当业务逻辑步骤较多、且带有较为强制的先后顺序控制时它可以把步骤以清单浮层的形式挂在页面角落用“进度条 步骤高亮 完成勾选”的方式引导用户一步步完成任务。读完本文你将掌握nz-check-list的全部输入/输出参数、NzItemProps数据结构、进度计算规则、关闭与“不再显示”的持久化方案以及基于仓库源码的自定义渲染与底层实现原理。何时使用 CheckList当当前页面业务逻辑过于复杂且带有较为强制的顺序流控制时可以使用 CheckList 来简化流程——这是组件官方文档给出的核心适用场景。典型表现包括新用户首次进入页面需要完成“填写资料 → 绑定手机 → 实名认证 → 完成”等多步操作后台运营页面要求按固定顺序完成配置项复杂的向导式页面希望在不遮挡主内容的前提下持续提示用户“下一步该做什么”。CheckList 的价值在于它把流程从“业务代码里写死的一串判断”抽象成数据驱动的清单——你只需要声明一个NzItemProps[]数组和一个“当前所处步骤”的下标组件就会自动渲染出步骤、进度和引导箭头并把每一步的点击动作交还给你的onClick回调。从源码结构看check-list.component.ts组件由nz-check-list-button悬浮按钮、nz-check-list-content清单内容面板两个内部组件配合NzPopoverModule浮层组成整体是一个“按钮 弹出面板”的复合结构。快速上手最简单的用法在模块中引入NzCheckListModule见 check-list.module.ts然后像下面这样声明数据和当前下标即可示例来自 demo/basic.tsimport { Component } from angular/core; import { NzCheckListModule, NzItemProps } from ng-zorro-antd/check-list; Component({ selector: nz-demo-check-list-basic, imports: [NzCheckListModule], template: nz-check-list [nzItems]nzItems [nzIndex]index / }) export class NzDemoCheckListBasicComponent { index 2; readonly nzItems: NzItemProps[] [ { description: step 1, checked: true, onClick: (item: NzItemProps) { this.index; item.checked true; } }, { description: step 2, onClick: (item: NzItemProps) { this.index; item.checked true; } }, { description: step 3, onClick: (item: NzItemProps) { this.index; item.checked true; } }, { description: step 4, onClick: (item: NzItemProps) { this.index; item.checked true; } } ]; }这就是最简单、最典型的“清单驱动”用法点击当前高亮步骤右侧的箭头 →onClick里把该步骤checked置为true、同时index→ 进度条前进、高亮下移。注意nzIndex默认从1开始对应第一步它表示当前用户所处的位置而不是数组下标。API 详解nz-check-list 组件参数完整参数表如下摘自 index.en-US.md参数说明类型默认值全局配置[nzItems]任务清单元素NzItemProps[][]-[nzVisible]显示任务清单控制浮层是否打开booleanfalse-[nzIndex]当前所处步骤位置number1-[nzProgress]是否显示任务进度条booleantrue-[nzTriggerRender]清单悬浮按钮的渲染模板TemplateRefvoid \| string--[nzTitle]清单面板标题的渲染模板TemplateRefvoid \| string--[nzFooter]清单面板底部的渲染模板TemplateRefvoid \| string--(nzHide)隐藏清单的回调EventEmitterbooleanfalse-几个关键点的源码印证见 check-list.component.ts组件使用 Angular 新一代input()/output()/computed()/linkedSignal()信号式 API 实现nzItems inputNzItemProps[]([])、nzVisible input(false)、nzIndex input(1)、nzProgress input(true)与文档默认值一一对应nzVisible通过linkedSignal与内部visible状态双向联动外部传入true打开浮层用户点击关闭后组件内部状态随之更新nzHide是组件唯一的输出事件类型为outputboolean()其回调值含义为“是否不再显示清单”若回调值为true你可以在回调中把标记写入LocalStorage从而避免再次显示清单——这是组件官方文档明确建议的“永久关闭”持久化方案。悬浮按钮上默认还会展示一个红色角标数字表示当前未完成checked为假的步骤数由unfinished计算属性得出this.nzItems().filter(item !item?.checked).length见 check-list.component.ts并用DecimalPipe格式化为整数。接口NzItemPropsNzItemProps是清单中每个步骤的数据结构定义见 typings.ts文档见 index.en-US.md属性说明类型默认值key清单元素的唯一标识string-description清单元素描述内容string-checked当前步骤是否已完成boolean-onClick点击该步骤时触发的方法(item: NzItemProps) void-使用要点key是当前项的唯一标识如果未设置则默认使用description作为 key见 check-list-content.component.tsfor循环的track表达式为item.key || item.description这也是官方文档在接口备注中明确说明的行为description必填渲染为步骤文字checked为true时该步骤左侧圆圈会变为对勾图标且不再触发onClick箭头只有**当前高亮步骤$index 1 nzIndex**才渲染右侧的“箭头”图标点击后调用item.onClick?.(item)见 check-list-content.component.ts。进度计算规则与“完成态”进度条百分比由内部progressPercent计算属性得出见 check-list-content.component.tsprotected progressPercent computed(() { const index Math.min(Math.max(this.index() - 1, 0), this.items().length); return (index / this.items().length) * 100; });换算成业务语言即进度 (nzIndex - 1) / 总步骤数 × 100%并做上下限裁剪不小于 0%、不超过 100%。组件测试 check-list.component.spec.ts 对这一规则做了精确验证2 个步骤、nzIndex 1时进度文本显示0%第一个步骤处于高亮ant-check-list-highlight且有 1 个箭头nzIndex 2、第一个步骤checked后进度显示50%第一个步骤呈现已勾选ant-check-list-checked、第二个步骤高亮两个步骤全部checked、nzIndex 3时进度条不再渲染进度已 100%转而展示“完成面板”ant-check-list-header-finish。当进度达到 100% 时面板头部会替换为完成态视图一个对勾图标 “You have successfully completed the list!”完成文案随 i18n 变化 一个“关闭”按钮点击后直接关闭浮层对应测试用例 “lose the list when you are finished”。关闭流程与“不再显示”持久化用户关闭清单时组件提供了一套完整的确认交互流程如下对应 check-list-content.component.ts 与测试用例 “actively close the list” / “actively close hidden lists”点击面板底部默认文案为 i18n 中的 “Check list is no longer required”可被nzFooter覆盖→ 面板切换为“确认关闭”视图确认视图包含标题“Do you want to close the list?”、确定 / 取消两个按钮以及一个可勾选的 checkbox——“No longer required to show”无需再次显示若勾选了 checkbox 再点“确定”组件会通过hide事件把true传给外层nzHide回调此时你应当把标记写入LocalStorage下次进入页面读取该标记不传入nzVisible/ 直接隐藏组件即可实现“永久不再打扰”未勾选时“确定”仅关闭浮层nzHide回调值为false。关闭后unfinished未完成数角标会随之消失。此外还有两条快捷关闭路径点击面板右上角的“向下”图标直接收起浮层完成态下面板也会显示关闭按钮。自定义渲染触发器、标题与底部三个可渲染属性nzTriggerRender/nzTitle/nzFooter的类型均为TemplateRefvoid | string即既可以直接传字符串文本也可以传模板引用组件内部通过nzStringTemplateOutlet指令统一支持两种形态见 check-list.component.ts 与 check-list-content.component.tsnzTriggerRender自定义悬浮按钮内容。不传时默认渲染“对勾图标 文案”文案来自 i18n 的checkList字段如 “Check List”传入字符串或模板后完全替换默认内容nzTitle面板标题。不传时默认使用 i18n 的checkList文案传入自定义文本/模板后替换nzFooter面板底部区域默认文案为 i18n 的checkListFooter“Check list is no longer required”点击底部同样触发关闭确认流程可自定义为任意文本或模板。check-list.component.spec.ts 中分别验证了三个属性的渲染结果传入字符串 “Check List” 后悬浮按钮、标题、底部区域的内边文本均正确替换为自定义内容。复杂场景用表单驱动全部参数官方提供了“复杂场景”示例 demo/custom.ts用ReactiveFormsModule表单把nzVisible、nzProgress、nzIndex、nzTriggerRender、nzTitle、nzFooter六个参数全部变成可实时调节的控件是理解各参数运行效果的绝佳演示form this.fb.group({ nzProgress: true, nzVisible: false, nzIndex: 0, nzTriggerRender: Open List, nzTitle: Customize task lists, nzFooter: Custom Footer Name });绑定方式nz-check-list [nzItems]nzItems [nzVisible]form.controls.nzVisible.value [nzIndex]form.controls.nzIndex.value || 0 [nzProgress]form.controls.nzProgress.value [nzTriggerRender]form.controls.nzTriggerRender.value [nzTitle]form.controls.nzTitle.value [nzFooter]form.controls.nzFooter.value (nzHide)hideCancel($event) /几点实践提示nzVisible与表单绑定后注意在nzHide回调里同步把表单值置回false示例中hideCancel的做法否则下次切换会与组件内部linkedSignal状态产生偏差nzIndex用nz-segmented提供 0N1 的档位用于直观观察不同“当前步骤”下高亮与进度的变化示例样式把nz-check-list设为position: absolute定位让悬浮按钮固定在页面一角——生产环境中这也是一种常见摆放方式。国际化与默认文案CheckList 的界面文案全部走 ng-zorro-antd 的 i18n 体系。组件通过NzI18nService订阅语言变化并读取CheckList语言包见 check-list.component.tsprivate i18n inject(NzI18nService); locale toSignalNzCheckListI18nInterface( this.i18n.localeChange.pipe(map(() this.i18n.getLocaleData(CheckList))), { requireSync: true } );以 languages/en_US.ts 为例语言包包含 7 个字段字段英文默认文案作用checkListCheck List悬浮按钮/面板默认标题checkListFinishYou have successfully completed the list!完成态标题checkListCloseClose完成态关闭按钮checkListFooterCheck list is no longer required默认底部文案checkListCheckDo you want to close the list?关闭确认标题ok/cancelOK / Cancel确认/取消按钮checkListCheckOtherNo longer required to show“不再显示”勾选文案目前 components/i18n/languages 目录下 60 余种语言如ar_EG、en_AU、es_ES等均已提供该字段跟随nz-i18n全局配置即可自动切换。底层实现与结构小结从源码结构看CheckList 由三个组件协作完成全部位于 components/check-list 目录NzCheckListComponentnz-check-list对外 API 的唯一入口负责信号输入输出、i18n 注入、未完成数计算并用NzPopoverModule把“触发器按钮”与“内容面板”组合成浮层——浮层触发方式为click、位置topRight、禁止点击外部关闭nzPopoverOverlayClickablefalse可见性由nzVisible/内部visible共同控制见 check-list.component.tsNzCheckListButtonComponentnz-check-list-button一个极简容器直接套用ant-btn ant-btn-primary按钮样式作为悬浮触发器见 check-list-button.component.tsNzCheckListContentComponentnz-check-list-content面板主体渲染标题/进度条/步骤列表/底部与关闭确认视图内部组合了NzProgressModule、NzCheckboxModule、NzButtonModule、NzIconModule等基础组件见 check-list-content.component.ts。其中悬浮按钮、完成态面板、步骤项等界面的样式类均以ant-check-list-*前缀命名实际视觉效果由 style 目录下的 LESS 样式文件定义。上述拆分方式与测试用例check-list.component.spec.ts 共 8 组用例覆盖基本渲染、可见性、步骤、进度、索引、关闭流程、自定义渲染等共同保证了组件在交互细节上的行为稳定。结语CheckList 是 ng-zorro-antd 中一个“小而美”的流程引导组件它把强顺序流程从业务代码中抽离为数据驱动清单用“进度 高亮 箭头”的直观 UI 降低用户理解成本又通过nzHide的布尔回调与LocalStorage组合提供了“不再打扰”的持久化关闭方案。实践中最关键的三点是维护好nzItems中每项的checked状态、正确推进nzIndex步数下标 1、以及按需使用三个自定义渲染插槽即可在复杂页面中快速落地一套清晰的任务引导流程。赞分享UI组件前端【免费下载链接】ng-zorro-antdAngular UI Component Library based on Ant Design项目地址https://gitcode.com/gh_mirrors/ng/ng-zorro-antd点击查看免费下载相关推荐ng-zorro-antd CheckList 组件入门用 nz-check-list 构建步骤化任务清单ng zorro antd CheckList 组件入门用 nz check list 构建步骤化任务清单 CheckList任务清单是 ng zorroUI组件前端从源码到部署CrowdStrike CRT内部工作原理与自定义扩展终极指南从源码到部署CrowdStrike CRT内部工作原理与自定义扩展终极指南 CrowdStrike CRTCrowdStrike Reporting TooReact Effect 依赖收敛用原始值依赖取代对象依赖让副作用只在真正需要时触发React Effect 依赖收敛用原始值依赖取代对象依赖让副作用只在真正需要时触发 导读 本文围绕 OpenMontage 仓库中 Vercel ReacUI组件前端上一篇Linux终极指南3步用Bottles轻松运行Windows软件和游戏的完整教程下一篇UnstableFusion入门指南探索强大的Stable Diffusion桌面前端开启AI绘画之旅创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

本地优先与数据可控:高效文档处理与文件管理工具推荐

本地优先与数据可控:高效文档处理与文件管理工具推荐

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 3:42:56 阅读更多 →
SQL Server 性能计数器评估指南:SQL Assessment API 中 Performance Probe 的配置、数据变换与多实例实战

SQL Server 性能计数器评估指南:SQL Assessment API 中 Performance Probe 的配置、数据变换与多实例实战

示例工程数据库教程后端 【免费下载链接】sql-server-samples Azure Data SQL Samples - Official Microsoft GitHub Repository containing code samples for SQL Server, Azure SQL, Azure Synapse, and Azure SQL Edge 项目地址: https://gitcode.com/gh_mirrors…

2026/9/25 3:42:56 阅读更多 →
8款AI论文写作工具实测:从选题到降重的完整辅助方案

8款AI论文写作工具实测:从选题到降重的完整辅助方案

每年三四月份,我都能在私信里收到大量本科生发来的同款求助:“学长,开题报告憋不出来怎么办”“综述全是复制粘贴,查重率快40%了”“导师说我文献综述没有逻辑,但我已经写了三天”。毕业论文这件事,说难不难…

2026/9/25 3:42:56 阅读更多 →

最新新闻

机械臂避障路径规划仿真:从算法选型到跑通第一个场景

机械臂避障路径规划仿真:从算法选型到跑通第一个场景

简介:这份资源是面向机器人学学习者与机械臂控制方向研究者的避障路径规划仿真程序包,聚焦多自由度机械臂在三维复杂环境中从起点安全、高效抵达目标点并规避障碍这一核心问题,适合具备一定路径规划基础、希望动手验证算法的中高级学习者。压…

2026/9/25 4:34:31 阅读更多 →
编带烧录机保养与故障排查实战指南:提升产线稼动率

编带烧录机保养与故障排查实战指南:提升产线稼动率

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 4:34:31 阅读更多 →
ISO11898与SAE J1939协议区别详解:从CAN总线分层到抓包实战

ISO11898与SAE J1939协议区别详解:从CAN总线分层到抓包实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 4:34:31 阅读更多 →
Win11桌面图标失效原因与三重控制层解析

Win11桌面图标失效原因与三重控制层解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 4:34:31 阅读更多 →
温度检测控制仿真系统:从建模到PID整定的完整实战

温度检测控制仿真系统:从建模到PID整定的完整实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 4:34:31 阅读更多 →
rsuite Animation 组件实战指南:Fade、Collapse、Bounce、Slide 与自定义 Transition 动画

rsuite Animation 组件实战指南:Fade、Collapse、Bounce、Slide 与自定义 Transition 动画

前端UI组件 【免费下载链接】rsuite 🧱 A suite of React components . 项目地址: https://gitcode.com/gh_mirrors/rs/rsuite 点击查看 免费下载 rsuite 的 Animation 是一组开箱即用的动画组件集合,用于为元素的显示与隐藏赋予平滑的过渡…

2026/9/25 4:33:30 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →