1# Chip
2
3操作块,用于搜索框历史记录或者邮件发送列表等场景。
4
5> **说明:**
6>
7> 该组件从API Version 11开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8
9## 导入模块
10
11```ts
12import { Chip, ChipOptions, ChipSize } from '@kit.ArkUI';
13```
14
15## 子组件
16
1718
19## Chip
20
21Chip({options:ChipOptions})
22
23**装饰器类型:**@Builder
24
25**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
26
27**系统能力:** SystemCapability.ArkUI.ArkUI.Full
28
29**参数**:
30
31| 名称    | 类型                        | 必填 | 装饰器类型 | 说明                 |
32| ------- | --------------------------- | ---- | ---------- | -------------------- |
33| options | [ChipOptions](#chipoptions) | 是   | @Builder   | 定义chip组件的参数。 |
34
35## ChipOptions
36
37ChipOptions定义chip的样式及具体式样参数。
38
39**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
40
41**系统能力:** SystemCapability.ArkUI.ArkUI.Full
42
43| 名称            | 类型                                                         | 必填 | 说明                                                         |
44| --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
45| size            | [ChipSize](#chipsize) \| [SizeOptions](ts-types.md#sizeoptions) | 否   | 操作块尺寸。<br/>默认值:ChipSize:ChipSize.NORMAL,<br/>   SizeOptions类型参数不支持百分比设置。 |
46| enabled         | boolean                                                      | 否   | 操作块是否可选中。<br>默认值:true |
47| activated<sup>12+</sup>       | boolean                                        | 否   | 操作块是否为激活态。<br>默认值:false                      |
48| prefixIcon      | [PrefixIconOptions](#prefixiconoptions)                      | 否   | 前缀图标属性。 |
49| prefixSymbol<sup>12+</sup>    | [ChipSymbolGlyphOptions](#chipsymbolglyphoptions12)              | 否   | 前缀图标属性,symbol类型。 |
50| label           | [LabelOptions](#labeloptions)                                | 是   | 文本属性。   |
51| suffixIcon      | [SuffixIconOptions](#suffixiconoptions)                      | 否   | 后缀图标属性。 |
52| suffixSymbol<sup>12+</sup>    | [ChipSymbolGlyphOptions](#chipsymbolglyphoptions12)              | 否   | 后缀图标属性,symbol类型。 |
53| suffixSymbolOptions<sup>14+</sup> | [ChipSuffixSymbolGlyphOptions](#chipsuffixsymbolglyphoptions14) | 否 | symbol类型后缀图标属性的无障碍朗读功能属性。|
54| backgroundColor | [ResourceColor](ts-types.md#resourcecolor)                   | 否   | 操作块背景颜色。<br/>默认值:$r('sys.color.ohos_id_color_button_normal') |
55| activatedBackgroundColor<sup>12+</sup> | [ResourceColor](ts-types.md#resourcecolor)          | 否   | 操作块激活时的背景颜色。<br/>默认值:$r('sys.color.ohos_id_color_emphasize')。 |
56| borderRadius    | [Dimension](ts-types.md#dimension10)                         | 否   | 操作块背景圆角半径大小,不支持百分比。<br/>默认值:$r('sys.float.ohos_id_corner_radius_button') |
57| allowClose      | boolean                                                      | 否   | 删除图标是否显示。<br/>默认值:true |
58| onClose         | ()=>void                                                     | 否   | 默认删除图标点击事件。 |
59| onClicked<sup>12+</sup>       | [VoidCallback](ts-types.md#voidcallback12) | 否   | 操作块点击事件。                                       |
60| direction<sup>12+</sup> | [Direction](ts-appendix-enums.md#direction) | 否 | 布局方向。<br/>默认值:Direction.Auto |
61| closeOptions<sup>14+</sup> | [CloseOptions](#closeoptions14) | 否 | 默认删除图标的无障碍朗读功能属性。 |
62| accessibilityDescription<sup>14+</sup> | [ResourceStr](ts-types.md#resourcestr) | 否 | Chip组件无障碍描述。|
63| accessibilityLevel<sup>14+</sup> | string | 否 | Chip组件无障碍重要性。<br>默认值:"auto"。 |
64| accessibilitySelectedType<sup>14+</sup> | [AccessibilitySelectedType](#accessibilityselectedtype14) | 否 | Chip组件选中态类型。|
65
66> **说明:**
67>
68> 1.suffixSymbol有传入参数时,suffixIcon和allowClose不生效;suffixSymbol没有传入参数、suffixIcon有传入参数时,allowClose不生效;suffixSymbol和suffixIcon都没有传入参数时,allowClose决定是否显示删除图标。
69>
70> 2.backgroundColor和activatedBackgroundColor赋值undefined时,显示默认背景颜色,赋值非法值时,背景色透明。
71>
72> 3.prefixSymbol/suffixSymbol的fontColor默认值,normalFontColor: `[$r('sys.color.ohos_id_color_primary')]`、activatedFontColor: `[$r('sys.color.ohos_id_color_text_primary_contrary')]`。fontColor默认值为16。
73>
74> 4.prefixIcon的fillColor默认值:`$r('sys.color.ohos_id_color_secondary')`,suffixIcon的fillColor默认值:`$r('sys.color.ohos_id_color_primary')`。fillColor对颜色的解析与Image组件保持一致。
75>
76> 5.prefixIcon的activatedFillColor默认值:`$r('sys.color.ohos_id_color_text_primary_contrary')`,suffixIcon的activatedFillColor默认值:`$r('sys.color.ohos_id_color_text_primary_contrary')`。activatedFillColor对颜色的解析与Image组件保持一致。
77
78## ChipSize
79
80ChipSize是chip可指定的尺寸类型,如普通型Chip。
81
82**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
83
84**系统能力:** SystemCapability.ArkUI.ArkUI.Full
85
86| 名称   | 值       | 说明               |
87| ------ | -------- | ------------------ |
88| NORMAL | "NORMAL" | normal尺寸操作块。 |
89| SMALL  | "SMALL"  | small尺寸操作块。  |
90
91## AccessibilitySelectedType<sup>14+</sup>
92
93AccessibilitySelectedType是Chip可指定的选中态类型,如默认类型为AccessibilitySelectedType.CLICKED94
95**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。
96
97**系统能力:** SystemCapability.ArkUI.ArkUI.Full
98
99| 名称 | 值 | 描述 |
100| ---- | -- | ---- |
101| CLICKED | 0 | Chip组件选中态默认类型。|
102| CHECKED | 1 | Chip组件选中态复选类型。|
103| SELECTED | 2 | Chip组件选中态单选类型。|
104
105## IconCommonOptions
106
107IconCommonOptions定义图标的共通属性。
108
109**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
110
111**系统能力:** SystemCapability.ArkUI.ArkUI.Full
112
113| 名称      | 类型                                       | 必填 | 说明                                                         |
114| --------- | ------------------------------------------ | ---- | ------------------------------------------------------------ |
115| src       | [ResourceStr](ts-types.md#resourcestr)     | 是   | 图标图片或图片地址引用。 |
116| size      | [SizeOptions](ts-types.md#sizeoptions)     | 否   | 图标大小,不支持百分比。<br/>默认值:{width: 16,height: 16} |
117| fillColor | [ResourceColor](ts-types.md#resourcecolor) | 否   | 图标填充颜色。 |
118| activatedFillColor<sup>12+</sup> | [ResourceColor](ts-types.md#resourcecolor) | 否   | 操作块激活时图标填充颜色。                            |
119
120> **说明:**
121>
122> 仅在图片格式为svg时,fillColor和activatedFillColor生效。
123>
124
125## PrefixIconOptions
126
127PrefixIconOptions定义前缀图标的属性。
128
129继承于[IconCommonOptions](#iconcommonoptions)。
130
131**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
132
133**系统能力:** SystemCapability.ArkUI.ArkUI.Full
134
135## SuffixIconOptions
136
137SuffixIconOptions定义后缀图标的属性。
138
139继承于[IconCommonOptions](#iconcommonoptions)。
140
141**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
142
143**系统能力:** SystemCapability.ArkUI.ArkUI.Full
144
145| 名称   | 类型       | 必填 | 说明               |
146| ------ | ---------- | ---- | ------------------ |
147| action | () => void | 否   | 后缀图标设定事件。 |
148| accessibilityText<sup>14+</sup> | [ResourceStr](ts-types.md#resourcestr) | 否 | 后缀图标无障碍文本属性。|
149| accessibilityDescription<sup>14+</sup> | [ResourceStr](ts-types.md#resourcestr) | 否 | 后缀图标无障碍描述。|
150| accessibilityLevel<sup>14+</sup> | string | 否 | 后缀图标无障碍重要性。<br>默认值:"auto"。|
151
152## AccessibilityOptions<sup>14+</sup>
153
154后缀图标的无障碍朗读功能属性。
155
156**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。
157
158**系统能力:** SystemCapability.ArkUI.ArkUI.Full
159
160| 名称 | 类型 | 必填 | 说明 |
161| ------ | ---------- | ---- | ------------------ |
162| accessibilityText | [ResourceStr](ts-types.md#resourcestr) | 否 | 无障碍文本属性。|
163| accessibilityDescription | [ResourceStr](ts-types.md#resourcestr) | 否 | 无障碍描述。|
164| accessibilityLevel | string | 否 | 无障碍重要性。<br>默认值:"auto"。|
165
166## ChipSuffixSymbolGlyphOptions<sup>14+</sup>
167
168symbol类型后缀图标属性的无障碍朗读功能属性类型。
169
170**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。
171
172**系统能力:** SystemCapability.ArkUI.ArkUI.Full
173
174| 名称 | 类型 | 必填 | 说明 |
175| ---- | ---- | --- | ---- |
176| action | [VoidCallback](ts-types.md#voidcallback12) | 否 | 后缀图标响应事件。|
177| normalAccessibility | [AccessibilityOptions](#accessibilityoptions14) | 否 | 非激活态无障碍朗读功能属性。|
178| activatedAccessibility | [AccessibilityOptions](#accessibilityoptions14) | 否 | 激活态无障碍朗读功能属性。|
179
180## ChipSymbolGlyphOptions<sup>12+</sup>
181
182ChipSymbolGlyphOptions定义前缀图标和后缀图标的属性。
183
184**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
185
186**系统能力:** SystemCapability.ArkUI.ArkUI.Full
187
188| 名称   | 类型       | 必填 | 说明               |
189| ------ | ---------- | ---- | ------------------ |
190| normal | [SymbolGlyphModifier](ts-universal-attributes-attribute-modifier.md) | 否   | 图标设定事件。 |
191| activated | [SymbolGlyphModifier](ts-universal-attributes-attribute-modifier.md) | 否   | 激活时图标设定事件。 |
192
193> **说明:**
194>
195> 不支持通过symbolEffect修改动效类型和effectStrategy设置动效。
196>
197
198## LabelOptions
199
200LabelOptions定义文本的属性。
201
202**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
203
204**系统能力:** SystemCapability.ArkUI.ArkUI.Full
205
206| 名称        | 类型                                       | 必填 | 说明                                                         |
207| ----------- | ------------------------------------------ | ---- | ------------------------------------------------------------ |
208| text        | string                                     | 是   | 文本文字内容。 |
209| fontSize    | [Dimension](ts-types.md#dimension10)       | 否   | 文字字号,不支持百分比。<br/>默认值:$r('sys.float.ohos_id_text_size_button2') |
210| fontColor   | [ResourceColor](ts-types.md#resourcecolor) | 否   | 文字颜色。<br/>默认值:$r('sys.color.ohos_id_color_text_primary') |
211| activatedFontColor<sup>12+</sup>   | [ResourceColor](ts-types.md#resourcecolor) | 否   | 操作块激活时的文字颜色。<br/>默认值:$r('sys.color.ohos_id_color_text_primary_contrary') |
212| fontFamily  | string                                     | 否   | 文字字体。<br/>默认值:"HarmonyOS Sans" |
213| labelMargin | [LabelMarginOptions](#labelmarginoptions)  | 否   | 文本与左右侧图标之间间距。 |
214| localizedLabelMargin<sup>12+</sup> | [LocalizedLabelMarginOptions](#localizedlabelmarginoptions12) | 否 | 本地化文本与左右侧图标之间间距。<br/>默认值:{<br/>start:  LengthMetrics.vp(6), end: LengthMetrics.vp(6)<br/>} |
215
216## CloseOptions<sup>14+</sup>
217
218默认关闭图标的无障碍朗读功能属性,accessibilityText默认为"删除"。
219
220继承于[AccessibilityOptions](#accessibilityoptions14)。
221
222**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。
223
224**系统能力:** SystemCapability.ArkUI.ArkUI.Full
225
226## LabelMarginOptions
227
228LabelMarginOptions定义文本与左右侧图标之间间距。
229
230**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
231
232**系统能力:** SystemCapability.ArkUI.ArkUI.Full
233
234| 名称  | 类型                                 | 必填 | 说明                                   |
235| ----- | ------------------------------------ | ---- | -------------------------------------- |
236| left  | [Dimension](ts-types.md#dimension10) | 否   | 文本与左侧图标之间间距,不支持百分比。 |
237| right | [Dimension](ts-types.md#dimension10) | 否   | 文本与右侧图标之间间距,不支持百分比。 |
238
239## LocalizedLabelMarginOptions<sup>12+</sup>
240
241LocalizedLabelMarginOptions定义本地化文本与左右侧图标之间间距。
242
243**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
244
245**系统能力:** SystemCapability.ArkUI.ArkUI.Full
246
247| 名称  | 类型                                                         | 必填 | 说明                                   |
248| ----- | ------------------------------------------------------------ | ---- | -------------------------------------- |
249| start | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 否   | 文本与左侧图标之间间距,不支持百分比。 |
250| end   | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 否   | 文本与右侧图标之间间距,不支持百分比。 |
251
252## 示例
253
254### 示例1
255
256自定义删除图标的操作块。
257
258```ts
259import { Chip, ChipSize } from '@kit.ArkUI';
260
261@Entry
262@Component
263struct Index {
264  build() {
265    Column({ space: 10 }) {
266      Chip({
267        prefixIcon: {
268          src: $r('app.media.chips'),
269          size: { width: 16, height: 16 },
270          fillColor: Color.Red
271        },
272        label: {
273          text: "操作块",
274          fontSize: 12,
275          fontColor: Color.Blue,
276          fontFamily: "HarmonyOS Sans",
277          labelMargin: { left: 20, right: 30 }
278        },
279        suffixIcon: {
280          src: $r('app.media.close'),
281          size: { width: 16, height: 16 },
282          fillColor: Color.Red
283        },
284        size: ChipSize.NORMAL,
285        allowClose: false,
286        enabled: true,
287        backgroundColor: $r('sys.color.ohos_id_color_button_normal'),
288        borderRadius: $r('sys.float.ohos_id_corner_radius_button')
289      })
290    }
291  }
292}
293```
294
295
296![](figures/chip1.png)
297
298### 示例2
299
300使用默认删除图标的操作块。
301
302```ts
303import { Chip, ChipSize } from '@kit.ArkUI';
304
305@Entry
306@Component
307struct Index {
308  build() {
309    Column({ space: 10 }) {
310      Chip({
311        prefixIcon: {
312          src: $r('app.media.chips'),
313          size: { width: 16, height: 16 },
314          fillColor: Color.Blue
315        },
316        label: {
317          text: "操作块",
318          fontSize: 12,
319          fontColor: Color.Blue,
320          fontFamily: "HarmonyOS Sans",
321          labelMargin: { left: 20, right: 30 }
322        },
323        size: ChipSize.NORMAL,
324        allowClose: true,
325        enabled: true,
326        backgroundColor: $r('sys.color.ohos_id_color_button_normal'),
327        borderRadius: $r('sys.float.ohos_id_corner_radius_button')
328      })
329    }
330  }
331}
332```
333
334
335![](figures/chip2.png)
336
337### 示例3
338
339不显示删除图标的操作块。
340
341```ts
342import { Chip, ChipSize } from '@kit.ArkUI';
343
344@Entry
345@Component
346struct Index {
347  build() {
348    Column({ space: 10 }) {
349      Chip({
350        prefixIcon: {
351          src: $r('app.media.chips'),
352          size: { width: 16, height: 16 },
353          fillColor: Color.Blue
354        },
355        label: {
356          text: "操作块",
357          fontSize: 12,
358          fontColor: Color.Blue,
359          fontFamily: "HarmonyOS Sans",
360          labelMargin: { left: 20, right: 30 }
361        },
362        size: ChipSize.SMALL,
363        allowClose: false,
364        enabled: true,
365        backgroundColor: $r('sys.color.ohos_id_color_button_normal'),
366        borderRadius: $r('sys.float.ohos_id_corner_radius_button'),
367        onClose:()=>{
368          console.log("chip on close")
369      }
370      })
371    }
372  }
373}
374```
375
376
377![](figures/chip3.png)
378
379### 示例4
380
381激活态操作块。
382
383```ts
384import { Chip, ChipSize } from '@kit.ArkUI';
385
386@Entry
387@Component
388struct Index {
389  @State isActivated: boolean = false
390
391  build() {
392    Column({ space: 10 }) {
393      Chip({
394        prefixIcon: {
395          src: $r('app.media.chips'),
396          size: { width: 16, height: 16 },
397          fillColor: Color.Blue,
398          activatedFillColor: $r('sys.color.ohos_id_color_text_primary_contrary')
399        },
400        label: {
401          text: "操作块",
402          fontSize: 12,
403          fontColor: Color.Blue,
404          activatedFontColor: $r('sys.color.ohos_id_color_text_primary_contrary'),
405          fontFamily: "HarmonyOS Sans",
406          labelMargin: { left: 20, right: 30 }
407        },
408        size: ChipSize.NORMAL,
409        allowClose: true,
410        enabled: true,
411        activated: this.isActivated,
412        backgroundColor: $r('sys.color.ohos_id_color_button_normal'),
413        activatedBackgroundColor: $r('sys.color.ohos_id_color_emphasize'),
414        borderRadius: $r('sys.float.ohos_id_corner_radius_button'),
415        onClose:()=>{
416          console.log("chip on close")
417        },
418        onClicked:()=>{
419          console.log("chip on clicked")
420        }
421      })
422
423      Button('改变激活状态').onClick(()=>{
424        this.isActivated = !this.isActivated
425      })
426    }
427  }
428}
429```
430
431
432![](figures/chip4.gif)
433
434### 示例5
435
436Chip组件的前缀、后缀图标使用symbol类型资源展示。
437
438```ts
439import { Chip, ChipSize, SymbolGlyphModifier } from '@kit.ArkUI';
440
441@Entry
442@Component
443struct Index {
444  @State isActivated: boolean = false
445
446  build() {
447    Column({ space: 10 }) {
448      Chip({
449        prefixIcon: {
450          src: $r('app.media.chips'),
451          size: { width: 16, height: 16 },
452          fillColor: Color.Blue,
453          activatedFillColor: $r('sys.color.ohos_id_color_text_primary_contrary')
454        },
455		prefixSymbol: {
456          normal: new SymbolGlyphModifier($r('sys.symbol.ohos_star')).fontSize(16).fontColor([Color.Green]),
457          activated: new SymbolGlyphModifier($r('sys.symbol.ohos_star')).fontSize(16).fontColor([Color.Red]),
458		},
459        label: {
460          text: "操作块",
461          fontSize: 12,
462          fontColor: Color.Blue,
463          activatedFontColor: $r('sys.color.ohos_id_color_text_primary_contrary'),
464          fontFamily: "HarmonyOS Sans",
465          labelMargin: { left: 20, right: 30 },
466        },
467        size: ChipSize.NORMAL,
468        allowClose: true,
469        enabled: true,
470        activated: this.isActivated,
471        backgroundColor: $r('sys.color.ohos_id_color_button_normal'),
472        activatedBackgroundColor: $r('sys.color.ohos_id_color_emphasize'),
473        borderRadius: $r('sys.float.ohos_id_corner_radius_button'),
474        onClose:()=>{
475          console.log("chip on close")
476        },
477        onClicked:()=>{
478          console.log("chip on clicked")
479        }
480      })
481
482      Button('改变激活状态').onClick(()=>{
483        this.isActivated = !this.isActivated
484      })
485    }
486  }
487}
488```
489
490![](figures/chip5.gif)
491
492### 示例6
493
494Chip布局镜像化展示
495
496```ts
497
498import { Chip, ChipSize,LengthMetrics } from '@kit.ArkUI';
499
500@Entry
501@Component
502struct ChipPage {
503
504  build() {
505    Column() {
506      Chip({
507        direction: Direction.Rtl,
508        prefixIcon: {
509          src: $r('app.media.chips'),
510          size: { width: 16, height: 16 },
511          fillColor: Color.Red,
512        },
513        label: {
514          text: "操作块",
515          fontSize: 12,
516          fontColor: Color.Blue,
517          fontFamily: "HarmonyOS Sans",
518          localizedLabelMargin: { start: LengthMetrics.vp(20), end: LengthMetrics.vp(20) },
519        },
520        suffixIcon: {
521          src: $r('app.media.close'),
522          size: { width: 16, height: 16 },
523          fillColor: Color.Red,
524        },
525        size: ChipSize.NORMAL,
526        allowClose: false,
527        enabled: true,
528        backgroundColor: $r('sys.color.ohos_id_color_button_normal'),
529        borderRadius: $r('sys.float.ohos_id_corner_radius_button')
530      })
531    }.justifyContent(FlexAlign.Center)
532    .width('100%')
533    .height('100%')
534  }
535}
536```
537
538
539![](figures/chip6.png)
540
541### 示例7
542
543该示例代码实现了Chip组件Image类型后缀图标的无障碍朗读功能。
544
545```ts
546
547import { Chip, SymbolGlyphModifier } from '@kit.ArkUI';
548
549@Builder
550function DefaultFunction(): void {
551}
552
553@Component
554struct SectionGroup {
555  @Prop
556  @Require
557  title: ResourceStr;
558  @BuilderParam
559  @Require
560  content: () => void = DefaultFunction;
561
562  build() {
563    Column({ space: 4 }) {
564      Text(this.title)
565        .fontColor('#FF666666')
566        .fontSize(12)
567      Column({ space: 8 }) {
568        this.content()
569      }
570    }
571    .alignItems(HorizontalAlign.Start)
572    .width('100%')
573  }
574}
575
576@Component
577struct SectionItem {
578  @Prop
579  @Require
580  title: ResourceStr;
581  @BuilderParam
582  @Require
583  content: () => void = DefaultFunction;
584
585  build() {
586    Column({ space: 12 }) {
587      Text(this.title)
588      this.content()
589    }
590    .backgroundColor('#FFFFFFFF')
591    .borderRadius(12)
592    .padding(12)
593    .width('100%')
594  }
595}
596
597@Entry
598@Component
599struct ChipExample2 {
600  @State activated: boolean = false;
601
602  build() {
603    NavDestination() {
604      Scroll() {
605        SectionGroup({ title: '后缀图标播报' }) {
606          SectionItem({ title: '自定义播报' }) {
607            Chip({
608              label: { text: '操作块' },
609              suffixIcon: {
610                src: $r('sys.media.ohos_ic_public_cut'),
611                accessibilityText: '图标',
612                accessibilityDescription: '新手提醒',
613                action: () => {
614                  this.getUIContext().getPromptAction().showToast({
615                    message: '后缀图标被点击!'
616                  });
617                }
618              },
619              onClicked: () => {
620                this.getUIContext().getPromptAction().showToast({
621                  message: '操作块被点击!'
622                });
623              }
624            })
625          }
626        }
627      }
628    }
629  }
630}
631```
632
633### 示例8
634
635该示例代码实现了Chip组件Symbol类型后缀图标的无障碍朗读功能。
636
637```ts
638
639import { Chip, SymbolGlyphModifier } from '@kit.ArkUI';
640
641@Builder
642function DefaultFunction(): void {
643}
644
645@Component
646struct SectionGroup {
647  @Prop
648  @Require
649  title: ResourceStr;
650  @BuilderParam
651  @Require
652  content: () => void = DefaultFunction;
653
654  build() {
655    Column({ space: 4 }) {
656      Text(this.title)
657        .fontColor('#FF666666')
658        .fontSize(12)
659      Column({ space: 8 }) {
660        this.content()
661      }
662    }
663    .alignItems(HorizontalAlign.Start)
664    .width('100%')
665  }
666}
667
668@Component
669struct SectionItem {
670  @Prop
671  @Require
672  title: ResourceStr;
673  @BuilderParam
674  @Require
675  content: () => void = DefaultFunction;
676
677  build() {
678    Column({ space: 12 }) {
679      Text(this.title)
680      this.content()
681    }
682    .backgroundColor('#FFFFFFFF')
683    .borderRadius(12)
684    .padding(12)
685    .width('100%')
686  }
687}
688
689@Entry
690@Component
691struct ChipExample2 {
692  @State activated: boolean = false;
693
694  build() {
695    NavDestination() {
696      Scroll() {
697          SectionGroup({ title: '后缀Symbol播报' }) {
698            SectionItem({ title: 'activatedAccessibility' }) {
699              Chip({
700                label: { text: '操作块' },
701                activated: true,
702                suffixSymbol: {
703                  activated: new SymbolGlyphModifier($r('sys.symbol.media_sound'))
704                    .fontSize(72),
705                },
706                suffixSymbolOptions: {
707                  activatedAccessibility: {
708                    accessibilityText: '音乐',
709                    accessibilityDescription: '新手提醒'
710                  },
711                  action: () => {
712                    this.getUIContext().getPromptAction().showToast({
713                      message: '后缀Symbol被点击!'
714                    });
715                  }
716                },
717                onClicked: () => {
718                  this.getUIContext().getPromptAction().showToast({
719                    message: '操作块被点击!'
720                  });
721                }
722              })
723            }
724            SectionItem({ title: 'normalAccessibility' }) {
725              Chip({
726                label: { text: '操作块' },
727                suffixSymbol: {
728                  normal: new SymbolGlyphModifier($r('sys.symbol.media_sound'))
729                    .fontSize(72),
730                },
731                suffixSymbolOptions: {
732                  normalAccessibility: {
733                    accessibilityText: '音乐',
734                    accessibilityDescription: '新手提醒'
735                  },
736                  action: () => {
737                    this.getUIContext().getPromptAction().showToast({
738                      message: '后缀Symbol被点击!'
739                    });
740                  }
741                },
742                onClicked: () => {
743                  this.getUIContext().getPromptAction().showToast({
744                    message: '操作块被点击!'
745                  });
746                }
747              })
748            }
749          }
750        }
751      }
752      .padding({
753        top: 8,
754        bottom: 8,
755        left: 16,
756        right: 16,
757      })
758    }
759}
760```