UI组件前端【免费下载链接】ng-zorro-antdAngular UI Component Library based on Ant Design项目地址https://gitcode.com/gh_mirrors/ng/ng-zorro-antd点击查看免费下载本文讲解 ng-zorro-antd 中 Empty空状态组件的内置图片切换机制当页面或列表暂无数据时如何通过nzNotFoundImage属性把默认的插画风格替换为更紧凑的simple风格。读完本文你将掌握nzNotFoundImage的全部取值与类型内置关键字、自定义图片地址、TemplateRef 模板理解simple与default两套内置 SVG 的源码实现差异并能结合nzNotFoundContent、nzNotFoundFooter与全局NZ_CONFIG配置出贴合业务场景的空状态方案。一、demo 演示一行代码切换为 simple 风格在官方文档的演示用例中选择图片 / Chose image 这一示例见 components/empty/demo/simple.md给出了最简单的用法通过设置nzNotFoundImage为simple即可选择另一种风格的图片。其配套的 TypeScript 实现components/empty/demo/simple.ts如下import { Component } from angular/core; import { NzEmptyModule } from ng-zorro-antd/empty; Component({ selector: nz-demo-empty-simple, imports: [NzEmptyModule], template: nz-empty nzNotFoundImagesimple / }) export class NzDemoEmptySimpleComponent {}核心就一句话在nz-empty组件上绑定nzNotFoundImagesimple。模板中不需要引入任何额外的 SVG 或样式文件因为两套内置图片都以组件形式打包在NzEmptyModule中开箱即用。二、simple与default两套内置图片的源码实现nz-empty组件components/empty/empty.component.ts在内部维护了一个内置图片关键字表const NzEmptyDefaultImages [default, simple] as const; type NzEmptyNotFoundImageType (typeof NzEmptyDefaultImages)[number] | null | string | TemplateRefvoid;即nzNotFoundImage的完整取值域为default | simple | null | string | TemplateRefvoid其中string表示自定义图片地址TemplateRefvoid表示模板。默认值为default。组件模板中通过isImageBuildIn标志决定渲染分支见 components/empty/empty.component.tsdiv classant-empty-image if (!isImageBuildIn) { ng-container *nzStringTemplateOutletnzNotFoundImage img [src]nzNotFoundImage [alt]isContentString ? nzNotFoundContent : empty / /ng-container } else { if (nzNotFoundImage simple) { nz-empty-simple / } else { nz-empty-default / } } /div该分支由ngOnChanges中检测nzNotFoundImage的变化来驱动components/empty/empty.component.tsif (nzNotFoundImage) { const image nzNotFoundImage.currentValue || default; this.isImageBuildIn NzEmptyDefaultImages.findIndex(i i image) -1; }当传入的字符串命中default/simple两个关键字时判定为内置图片否则视为自定义图片地址走img分支渲染。2.1 simple 风格 SVGsimple风格由NzEmptySimpleComponent提供components/empty/partial/simple.ts是一个 64×41 的紧凑插画下方一条椭圆投影上方一个信封/盒子造型的主体。关键结构如下svg classant-empty-img-simple width64 height41 viewBox0 0 64 41 xmlnshttp://www.w3.org/2000/svg g transformtranslate(0 1) fillnone fill-ruleevenodd ellipse classant-empty-img-simple-ellipse cx32 cy33 rx32 ry7 / g classant-empty-img-simple-g fill-rulenonzero path dM55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z / path classant-empty-img-simple-path dM41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137... / /g /g /svg样式类ant-empty-img-simple、ant-empty-img-simple-ellipse、ant-empty-img-simple-g、ant-empty-img-simple-path对应的配色与描边规则定义在 components/empty/style/index.less 中因此simple图片的颜色会跟随主题默认、暗色、紧凑等自动变化。2.2 default 风格 SVG与之相对默认风格NzEmptyDefaultComponentcomponents/empty/partial/default.ts是一张 184×152 的插画包含盒子主体、右上角的纸飞机以及底部的阴影图形复杂度明显高于simple适合页面级的大面积空状态svg classant-empty-img-default width184 height152 viewBox0 0 184 152 xmlnshttp://www.w3.org/2000/svg !-- 盒子、纸飞机与阴影的 path / ellipse 定义 -- /svg两者由 components/empty/public-api.ts 一并导出组件内部在NzEmptyComponent的imports中同时引入NzEmptyDefaultComponent与NzEmptySimpleComponent根据关键字按需渲染。三、nzNotFoundImage的更多用法3.1 自定义图片地址当传入的字符串不是default/simple时会被当作图片 URL 渲染为img例如官方 customize 演示components/empty/demo/customize.tsnz-empty nzNotFoundImagehttps://gw.alipayobjects.com/zos/antfincdn/ZHrcdLPrvN/empty.svg [nzNotFoundContent]contentTpl [nzNotFoundFooter]footerTpl ng-template #contentTpl spanCustomize a href#APIDescription/a/span /ng-template ng-template #footerTpl button nz-button nzTypeprimary (click)onClick()Create Now/button /ng-template /nz-empty这里同时演示了nzNotFoundContent自定义描述内容与nzNotFoundFooter自定义操作区的模板用法可用于在空状态里加入创建数据之类的引导按钮。3.2 传入 TemplateRefnzNotFoundImage也支持TemplateRefvoid适用于需要完全自定义图片区域例如插入动画或复杂排版的场景。NzEmptyComponent使用nzStringTemplateOutlet指令来自ng-zorro-antd/core/outlet统一处理字符串与模板两种形态。四、API 汇总nz-empty组件见 components/empty/doc/index.zh-CN.md 的 API 章节的核心输入属性如下参数说明类型默认值[nzNotFoundImage]设置显示图片为string时表示自定义图片地址default/simple为内置图片string \| TemplateRefvoiddefault[nzNotFoundContent]自定义描述内容string \| TemplateRefvoid \| null语言包默认描述[nzNotFoundFooter]设置自定义 footerstring \| TemplateRefvoid-其中描述文案支持 i18n组件在ngOnInit中订阅NzI18nService.localeChange读取语言包中的Empty.description作为默认描述见 components/empty/empty.component.ts因此无需手动传描述也会随全局语言切换。五、simple 风格在内嵌空状态中的应用除独立使用外simple图片还被 ng-zorro-antd 的内嵌空状态机制大量复用NzEmbedEmptyComponentcomponents/empty/embed-empty.component.ts会根据宿主组件名自动适配尺寸并优先选用simple风格switch (size) { case (normal) { nz-empty classant-empty-normal nzNotFoundImagesimple / } case (small) { nz-empty classant-empty-small nzNotFoundImagesimple / } default { nz-empty / } }尺寸映射逻辑getEmptySize定义在同一文件中function getEmptySize(componentName: string): NzEmptySize { switch (componentName) { case table: case list: return normal; case select: case tree-select: case cascader: case transfer: return small; default: return ; } }也就是说Table、List 使用normal尺寸的 simple 图片Select、TreeSelect、Cascader、Transfer 等下拉类组件使用small尺寸的 simple 图片其余场景使用默认的default插画。这正是simple风格紧凑、轻量定位的体现也是官方在各类数据组件空状态中统一采用的视觉方案。六、全局统一配置自定义空组件如果希望全局替换所有组件的空状态内容可通过NZ_CONFIG提供empty.nzDefaultEmptyContent类型为Typeany | TemplateRefstring | string | undefined{ provide: NZ_CONFIG, useValue: { empty: { nzDefaultEmptyContent } } }当配置了全局自定义空组件后NzEmbedEmptyComponent会优先渲染自定义内容只有未配置时才回退到内置的 simple/default 图片。若想取消自定义、恢复内置图片把nzDefaultEmptyContent置为undefined即可。此外NZ_EMPTY_COMPONENT_NAME这个 InjectionToken定义于 components/empty/config.ts会把宿主组件名如table、select注入到自定义空组件中便于自定义组件按场景差异化渲染。七、小结切换内置图片风格只需一行nz-empty nzNotFoundImagesimple /内置关键字仅default与simple两个分别对应 184×152 的插画与 64×41 的紧凑图形SVG 实现见 components/empty/partial/default.ts 与 components/empty/partial/simple.ts非关键字字符串会被当作图片地址渲染为img也支持传入TemplateRefvoid完全自定义图片区域Table、List、Select、Cascader 等组件的内嵌空状态默认使用simple风格由 components/empty/embed-empty.component.ts 统一编排需要全局定制时通过NZ_CONFIG的empty.nzDefaultEmptyContent配置自定义空组件。赞分享UI组件前端【免费下载链接】ng-zorro-antdAngular UI Component Library based on Ant Design项目地址https://gitcode.com/gh_mirrors/ng/ng-zorro-antd点击查看免费下载相关推荐ng-zorro-antd Empty 空状态组件自定义图片、描述与 Footer 附属内容实战ng zorro antd Empty 空状态组件自定义图片、描述与 Footer 附属内容实战 本篇技术文章以 ng zorro antd 中 EmptyUI组件前端Ant Design Empty 空状态组件内置图片指南用 PRESENTED_IMAGE_SIMPLE 一键切换简洁风格占位图Ant Design Empty 空状态组件内置图片指南用 PRESENTED_IMAGE_SIMPLE 一键切换简洁风格占位图 在 Ant Design 中前端UI组件设计系统ng-zorro-antd Empty 全局化配置实战用 NzConfigService 一处定义所有组件的空状态ng zorro antd Empty 全局化配置实战用 NzConfigService 一处定义所有组件的空状态 本篇基于 ng zorro antd 的UI组件前端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
高效编程新选择:Evol AI智能工作空间接入TaoToken统一API通道配置指南 /* 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 17:47:39
【WPF-VisionMaster】机器视觉通用平台V5.0版本发行说明 机器视觉通用平台V5.0版本发行说明地址
了解更多
System.Windows.Controls 命名空间 | Microsoft Learn
控件库 - WPF .NET Framework | Microsoft Learn
WPF 介绍 | Microsoft Learn
使用 Visual Studio 创建新应用教程 - WPF .NET | Microsoft Learn
https://github.co… · 2026/9/25 18:25:52
只用一个问题训练几百步,模型居然还在变强:一篇论文的意外发现 先说一件让人有点摸不着头脑的事。有研究团队拿出一个数学题,就一道题,反复喂给模型训练了上千步。按常理这事儿应该很快就练废了,一道题能有多少信息量?可结果是,模型的准确率一路涨,涨到接近用全部一万七千道题训练出来的效果的七成二。这不是巧合,也… · 2026/9/25 18:25:34
Atlas 300V 24G实战:从NPU选型到YOLO生产级部署 刚拿到Atlas 300V 24G这块卡的时候,我第一反应也是——这不就是一块显存比较大的“图像处理卡”吗?直到把YOLO模型完整跑完一遍,才真正搞明白它和普通GPU加速卡的区别。这篇文章不整虚的,就围绕两个实际问题展开:Atlas… · 2026/9/25 18:25:34
小模型能当裁判吗?一场关于强化学习奖励成本的实验 先问你一个问题。如果你要训练一个AI模型写深度研究报告,怎么判断它写得好不好?数学题有标准答案,代码题能跑测试用例,可一篇论文该不该给9分还是7分,谁说了算?过去几年,大模型圈子里流行的做法… · 2026/9/25 18:25:27
数据闭环分层抽帧策略从 TB 级采集数据中提取高价值帧:三道成本闸门 上一篇讲完了挖掘平台的架构骨架,从这篇开始填血肉。平台拿到采集数据后做的第一件事是「抽帧」——把视频形态的 clip 变成一张张图片。为什么必须做这一步?因为下游所有能力都是「认图不认视频」的:VLM 推理要喂图片,Embedding … · 2026/9/25 18:25:27
Atlas 300V 24G推理卡实战:从CANN环境搭建到YOLOv5模型部署全流程 先给结论:Atlas 300V 24G确实是一张“运算加速卡”,但你要是拿它当普通图形卡用,就完全理解偏了。它是一张面向AI推理场景的加速卡,最近“atlas部署yolo”这么热,主要还是因为这卡性价比够看、国产化适配到位ÿ… · 2026/9/25 18:25:27
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* 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 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* 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 1:00:37