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

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

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

将长文本移到列表外部

不要尝试将长文本放入项目中
在下面的示例中,我们创建了一个包含不同类型文本的列表。“First Name”和“Last Name”标签用于指示在文本输入框中输入什么内容 。
切换开关上的“Allow Notifications”标签下方有附加文本,注明用户可以禁用通知。由于此文本较短,因此放置在项目内部。
该列表下方是另一个列表,其中包含一个文本区域(textarea),下方有一个包含长文本的[注释(Note)](./note)。文本区域被放在自己的列表中,以明确长文本与文本区域相关联,而不是与其他字段相关联。
元数据
元数据为项目提供额外的上下文,例如状态文本或计数。[徽章(Badge)](./badge)或[注释(Note)](./note)等组件是显示元数据的好方法。
限制你包含的元数据数量,仅保留最相关的信息。

仅添加最重要的元数据

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

优先处理最重要的内容。

优先处理的元数据可能会分散对其他重要内容的注意力。
在下面的示例中,我们创建了两个包含不同类型元数据的列表。第一个列表使用[注释(Note)](./note)来显示每个待办事项列表中有多少任务。
第二个列表模拟 iOS 邮件应用程序来显示收件箱。该列表使用了自定义元数据,包括“start”插槽中的“未读消息”指示器以及“end”插槽中的时间戳和自定义详情图标。“未读消息”指示器以蓝色高亮显示,以吸引用户注意未读消息,而时间戳则更为微妙。
操作
操作是交互式元素,当你激活它们时会执行某些操作。一个项目可以在同一行显示多个操作。但是,开发人员应确保每个操作的点击目标足够大,以便使用。
开发人员应避免创建嵌套交互元素(nested interactives),这可能会破坏屏幕阅读器的用户体验。例如,如果 button 属性设置为 true,开发人员应避免在项目的主要内容中添加按钮。
可以通过使用项目滑动(Item Sliding)组件来添加操作。操作也可以直接放在项目内部,而不使用项目滑动,但这应限制在不超过 2 个操作。

使用项目滑动(Item Sliding)通过在项目上滑动来显示多个操作。