1# ComposeListItem
2
3
4列表包含一系列相同宽度的列表项。内容包括适合连续、多行呈现同类数据的组合,例如图片和文本。
5
6
7> **说明:**
8>
9> 该组件从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
10
11
12## 导入模块
13
14```
15import { ComposeListItem } from "@kit.ArkUI"
16```
17
18
19## 子组件
20
2122
23## 属性
24支持[通用属性](ts-universal-attributes-size.md)
25
26
27## ComposeListItem
28
29ComposeListItem({contentItem?: ContentItem, operateItem?: OperateItem})
30
31**装饰器类型:**\@Component
32
33**系统能力:** SystemCapability.ArkUI.ArkUI.Full
34
35
36| 名称 | 类型 | 必填 | 装饰器类型 | 说明 |
37| -------- | -------- | -------- | -------- | -------- |
38| contentItem | [ContentItem](#contentitem) | 否 | \@Prop | 定义左侧以及中间元素。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
39| operateItem | [OperateItem](#operateitem) | 否 | \@Prop | 定义右侧元素。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
40
41## ContentItem
42
43**系统能力:** SystemCapability.ArkUI.ArkUI.Full
44
45
46| 名称 | 类型 | 必填 | 说明 |
47| -------- | -------- | -------- | -------- |
48| iconStyle | [IconType](#icontype) | 否 | 左侧元素的图标样式。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
49| icon | [ResourceStr](ts-types.md#resourcestr) | 否 | 左侧元素的图标资源。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
50| primaryText | [ResourceStr](ts-types.md#resourcestr) | 否 | 中间元素的标题内容。<br/>**文字处理规则:** 文本超长后无限换行显示。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。  |
51| secondaryText | [ResourceStr](ts-types.md#resourcestr) | 否 | 中间元素的副标题内容。<br/>**文字处理规则:** 文本超长后无限换行显示。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
52| description | [ResourceStr](ts-types.md#resourcestr) | 否 | 中间元素的描述内容。<br/>**文字处理规则:** 文本超长后无限换行显示。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。  |
53
54## IconType
55
56**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
57
58**系统能力:** SystemCapability.ArkUI.ArkUI.Full
59
60| 名称 | 值 | 说明 |
61| -------- | -------- | -------- |
62| BADGE | 1 | 左侧图标为badge类型,图标大小为8\*8vp。 |
63| NORMAL_ICON | 2 | 左侧图标为小图标类型,图标大小为16\*16vp。 |
64| SYSTEM_ICON | 3 | 左侧图标为系统图标类型,图标大小为24\*24vp。 |
65| HEAD_SCULPTURE | 4 | 左侧图标为头像类型,图标大小为40\*40vp。 |
66| APP_ICON | 5 | 左侧图标为应用图标类型,图标大小为64\*64vp。 |
67| PREVIEW | 6 | 左侧图标为预览图类型,图标大小为96\*96vp。 |
68| LONGITUDINAL | 7 | 左侧图标为横向特殊比例(宽比高大),保持最长边为96vp。 |
69| VERTICAL | 8 | 左侧图标为竖向特殊比例(高比宽大),保持最长边为96vp。 |
70
71## OperateItem
72
73**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
74
75**系统能力:** SystemCapability.ArkUI.ArkUI.Full
76
77| 名称 | 类型 | 必填 | 说明 |
78| -------- | -------- | -------- | -------- |
79| arrow | [OperateIcon](#operateicon) | 否 | 右侧元素为箭头,大小为12\*24vp。 |
80| icon | [OperateIcon](#operateicon) | 否 | 右侧元素的第一个图标,大小为24\*24vp。 |
81| subIcon | [OperateIcon](#operateicon) | 否 | 右侧元素的第二个图标,大小为24\*24vp。 |
82| button | [OperateButton](#operatebutton) | 否 | 右侧元素为按钮。 |
83| switch | [OperateCheck](#operatecheck) | 否 | 右侧元素为开关。 |
84| checkbox | [OperateCheck](#operatecheck) | 否 | 右侧元素为多选框,大小为24\*24vp。 |
85| radio | [OperateCheck](#operatecheck) | 否 | 右侧元素为单选,大小为24\*24vp。 |
86| image | [ResourceStr](ts-types.md#resourcestr) | 否 | 右侧元素为图片,大小为48\*48vp。 |
87| text | [ResourceStr](ts-types.md#resourcestr) | 否 | 右侧元素为文字。 |
88
89## OperateIcon
90
91**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
92
93**系统能力:** SystemCapability.ArkUI.ArkUI.Full
94
95| 名称 | 类型 | 必填 | 说明 |
96| -------- | -------- | -------- | -------- |
97| value | [ResourceStr](ts-types.md#resourcestr) | 是 | 右侧图标/箭头资源。 |
98| action | ()=&gt;void | 否 | 右侧图标/箭头点击事件。 |
99
100## OperateButton
101
102**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
103
104**系统能力:** SystemCapability.ArkUI.ArkUI.Full
105
106| 名称 | 类型 | 必填 | 说明 |
107| -------- | -------- | -------- | -------- |
108| text | [ResourceStr](ts-types.md#resourcestr) | 否 | 右侧按钮文字。 |
109
110## OperateCheck
111
112**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
113
114**系统能力:** SystemCapability.ArkUI.ArkUI.Full
115
116| 名称 | 类型 | 必填 | 说明 |
117| -------- | -------- | -------- | -------- |
118| isCheck | boolean | 否 | 右侧Switch/CheckBox/Radio选中状态。<br> isCheck默认值为false。<br> isCheck为true时,表示为选中。<br> isCheck为false时,表示为未选中。 |
119| onChange | (value:&nbsp;boolean)=&gt;void | 否 | 右侧Switch/CheckBox/Radio选中状态改变时触发回调。<br> value为true时,表示从未选中变为选中。<br> value为false时,表示从选中变为未选中。 |
120
121## 事件
122支持[通用事件](ts-universal-events-click.md)
123
124## 示例
125该示例实现了带有主标题、副标题、描述、右侧按钮及文本的简单列表项。
126```ts
127// 该示例主要演示该组件的基础功能使用,包含左侧右侧元素的情况
128import { IconType, ComposeListItem, promptAction } from '@kit.ArkUI';
129
130@Entry
131@Component
132struct ComposeListItemExample {
133  build() {
134    Column() {
135      List() {
136        ListItem() {
137          ComposeListItem({
138            contentItem: ({
139              iconStyle: IconType.NORMAL_ICON,
140              icon: $r('sys.media.ohos_app_icon'),
141              primaryText: '双行列表',
142              secondaryText: '辅助文字',
143              description: '描述内容文字'
144            }),
145            operateItem: ({
146              icon: {
147                value: $r('sys.media.ohos_app_icon'),
148                action: () => {
149                  promptAction.showToast({ message: 'icon' });
150                } },
151              text: '右侧文本'
152            })
153          })
154        }
155      }
156    }
157  }
158}
159```
160![示例1-ComposeListItem示例 左右元素+文本](figures/zh-cn_image_composelistitem_demo_01.jpg)