ion-item
Items 是可以包含文本、图标、头像、图像、输入以及任何其他原生或自定义元素的元素。Items 仅应作为 List 中的行与其他 items 一起使用。Items 可以滑动、删除、重新排序、编辑等。
基本用法
Items 默认左对齐文本,并在文本宽于 item 时自动换行。我们可以使用 Ionic Framework 提供的 CSS 实用工具来修改此行为,例如在下面的示例中使用 .ion-text-nowrap。请参阅CSS 实用工具文档了解更多可添加到 item 以转换文本的类。
内容类型
虽然列表中的 items 有多种形式,但它们通常支持 5 种不同的内容类型:辅助视觉元素、文本、元数据、操作和控件。但是,并非所有这些内容类型都应同时使用。以下指南展示了不同的内容类型以及如何在应用中正确使用它们。
辅助视觉元素
辅助视觉元素是 item 的装饰性图标或其他点缀。常见的辅助视觉元素示例包括头像、图标和缩略图。由于这些内容不是理解 item 意图所必需的,因此通常使用 aria-hidden="true" 对屏幕阅读器隐藏。
如果视觉元素是与 item 交互所必需的,例如图标按钮,则该视觉元素是操作而不是辅助视觉元素。
辅助视觉元素应以一致的方式呈现。这使每个 item 中的信息更易于解析。

在列表中将对齐视觉元素放在同一侧

不要在同一列表中呈现不同对齐方式的视觉元素
在下面的示例中,我们创建了两个带有辅助视觉元素的列表。第一个列表使用图标,第二个列表使用头像。视觉元素是装饰性的,因此它们都具有 aria-hidden="true"。此外,它们一致地呈现在 start 插槽中。
文本
文本内容类型包括表单控件标签或其他可见文本。此文本用于指示 item 的意图。尽量保持文本简短扼要。
如果您发现需要多写几句话来阐明 item 的目的,请考虑将附加句子移到列表底部的Note 中。将 item 放在自己的列表中可以清楚表明该文本与哪个 item 相关联。

将长文本移到列表外部

不要试图将长文本塞入 item 中
在下面的示例中,我们创建了一个包含不同类型文本的列表。"First Name" 和 "Last Name" 标签用于指示在文本输入框中输入的内容。
切换开关上的 "Allow Notifications" 标签下方有附加文本,提示用户可以禁用通知。由于这段文本很短,所以放在 item 内部。
该列表下方是另一个列表,包含一个 textarea,其下方有包含长文本的 Note。textarea 被放在自己的列表中,以表明长文本与 textarea 相关联,而不是其他字段。
元数据
元数据为 item 提供额外的上下文,例如状态文本或计数。像 Badge 或 Note 这样的组件是显示元数据的好方法。
限制您包含的元数据量,只保留最相关的信息。

只添加最重要的元数据

不要添加太多元数据,以免让用户感到不知所措或困惑。
开发人员还应考虑元数据的重要性。吸引用户注意元数据可能对用户有帮助,也可能分散他们对更重信息的注意力,具体取决于使用场景。

优先展示最重要的内容。

优先显示的元数据可能会分散对其他重要内容的注意力。
在下面的示例中,我们创建了两个具有不同元数据的列表。第一个列表使用 Note 来显示每个待办事项列表中的任务数量。
第二个列表模拟 iOS Mail 应用来显示收件箱。该列表使用了自定义元数据,包括"起始"插槽中的"未读消息"指示器,以及"结束"插槽中的时间戳和自定义详细信息图标。"未读消息"指示器以蓝色突出显示,以引起用户对未读消息的注意,而时间戳则更为微妙。
操作
操作是交互式元素,激活后会执行某些功能。一个 item 可以在同一行上显示多个操作。但是,开发者应确保每个操作的点击目标足够大以便于使用。
开发人员应避免创建可能破坏屏幕阅读器用户体验的嵌套交互。例如,如果 button 属性设置为 true,开发人员应避免在 Item 的主内容内部添加按钮。
可以使用 Item Sliding 组件添加操作。操作也可以直接放置在 Item 内部而不使用 Item Sliding,但应限制在不超过 2 个操作。

使用 Item Sliding 通过滑动 Item 来显示多个操作。