ContentUnavailableView 是一个 UI 组件,用于在应用内容不可用时向用户展示一个视图。它通常会显示标题、可选的描述内容以及操作区,用以清晰地告知用户内容缺失或尚未准备好。此组件适用于如列表等场景,当没有数据展示时,提供明确的提示。
您可以为 ContentUnavailableView 组件传递两种结构的属性:
基于字符串的属性:
title (string): 显示的主标题,通常描述不可用的内容。systemImage (string): 一个系统图标,用来直观表示内容不可用。这个图标有助于用户理解当前的状态。description (string, 可选): 一个简短的文本描述,进一步说明不可用内容。如果不需要,可以省略。基于 VirtualNode 的属性:
label (VirtualNode): 一个虚拟节点,通常是 Text 或其他 UI 组件,用来描述不可用内容的标签。description (VirtualNode | null, 可选): 一个虚拟节点,通常是 Text 组件,用于提供更详细的不可用内容描述。如果不需要描述,可以将其设置为 null。actions (虚拟节点数组 | null, 可选): 一个可选的操作按钮或链接列表。这些操作可以是按钮、链接或其他组件,也可以设置为 null,如果没有操作需求。在此示例中,当文档列表为空时,ContentUnavailableView 会显示一个标题“暂无文档”以及一个系统图标 "tray.fill"。
VirtualNode 的高级示例在这个例子中,ContentUnavailableView 使用虚拟节点作为标签和描述,此外,还添加了一个刷新按钮作为操作。
title 和 systemImage: 提供一种简单的方式来显示不可用内容,使用字符串标题和系统图标。label 和 description: 使用虚拟节点可以更灵活地定制标签和描述内容。actions: 可选操作,允许您添加按钮或链接,引导用户执行操作,如刷新内容或跳转到其他页面。该组件非常适合用在内容可能暂时不可用的场景,能够清晰、一致地向用户展示提示信息。