# Chip 操作块,用于搜索框历史记录或者邮件发送列表等场景。 > **说明:** > > 该组件从API Version 11开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 导入模块 ```ts import { Chip, ChipOptions, ChipSize } from '@kit.ArkUI'; ``` ## 子组件 无 ## Chip Chip({options:ChipOptions}): void **装饰器类型:**@Builder **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数**: | 名称 | 类型 | 必填 | 装饰器类型 | 说明 | | ------- | --------------------------- | ---- | ---------- | -------------------- | | options | [ChipOptions](#chipoptions) | 是 | @Builder | 定义chip组件的参数。 | ## ChipOptions ChipOptions定义chip的样式及具体式样参数。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 必填 | 说明 | | --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | size | [ChipSize](#chipsize) \| [SizeOptions](ts-types.md#sizeoptions) | 否 | 操作块尺寸。
默认值:ChipSize:ChipSize.NORMAL,
SizeOptions类型参数不支持百分比设置。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | enabled | boolean | 否 | 操作块是否可选中。
默认值:true。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | activated12+ | boolean | 否 | 操作块是否为激活态。
默认值:false。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | prefixIcon | [PrefixIconOptions](#prefixiconoptions) | 否 | 前缀图标属性。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | prefixSymbol12+ | [ChipSymbolGlyphOptions](#chipsymbolglyphoptions12) | 否 | 前缀图标属性,symbol类型。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | label | [LabelOptions](#labeloptions) | 是 | 文本属性。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | suffixIcon | [SuffixIconOptions](#suffixiconoptions) | 否 | 后缀图标属性。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | suffixSymbol12+ | [ChipSymbolGlyphOptions](#chipsymbolglyphoptions12) | 否 | 后缀图标属性,symbol类型。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | suffixSymbolOptions14+ | [ChipSuffixSymbolGlyphOptions](#chipsuffixsymbolglyphoptions14) | 否 | symbol类型后缀图标属性的无障碍朗读功能属性。
**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。| | backgroundColor | [ResourceColor](ts-types.md#resourcecolor) | 否 | 操作块背景颜色。
默认值:$r('sys.color.ohos_id_color_button_normal')。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | activatedBackgroundColor12+ | [ResourceColor](ts-types.md#resourcecolor) | 否 | 操作块激活时的背景颜色。
默认值:$r('sys.color.ohos_id_color_emphasize')。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | borderRadius | [Dimension](ts-types.md#dimension10) | 否 | 操作块背景圆角半径大小,不支持百分比。
默认值:$r('sys.float.ohos_id_corner_radius_button')。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | allowClose | boolean | 否 | 删除图标是否显示。
默认值:true。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | onClose | ()=>void | 否 | 默认删除图标点击事件。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | onClicked12+ | Callback\ | 否 | 操作块点击事件。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | direction12+ | [Direction](ts-appendix-enums.md#direction) | 否 | 布局方向。
默认值:Direction.Auto。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | closeOptions14+ | [CloseOptions](#closeoptions14) | 否 | 默认删除图标的无障碍朗读功能属性。
**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 | | accessibilityDescription14+ | [ResourceStr](ts-types.md#resourcestr) | 否 | Chip组件的无障碍描述。此描述用于向用户详细解释当前组件,开发人员应为组件的这一属性提供较为详尽的文本说明,以协助用户理解即将执行的操作及其可能产生的后果。特别是当这些后果无法仅从组件的属性和无障碍文本中直接获知时。如果组件同时具备文本属性和无障碍说明属性,当组件被选中时,系统将首先播报组件的文本属性,随后播报无障碍说明属性的内容。
**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。| | accessibilityLevel14+ | string | 否 | Chip组件无障碍重要性。用于控制后缀图标是否可被无障碍辅助服务所识别。
支持的值为:
"auto":当前组件会转化为“yes”。
"yes":当前组件可被无障碍辅助服务所识别。
"no":当前组件不可被无障碍辅助服务所识别。
"no-hide-descendants":当前组件及其所有子组件不可被无障碍辅助服务所识别。
默认值:"auto"。
**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 | | accessibilitySelectedType14+ | [AccessibilitySelectedType](#accessibilityselectedtype14) | 否 | Chip组件选中态类型。
**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。| > **说明:** > > 1.suffixSymbol有传入参数时,suffixIcon和allowClose不生效;suffixSymbol没有传入参数、suffixIcon有传入参数时,allowClose不生效;suffixSymbol和suffixIcon都没有传入参数时,allowClose决定是否显示删除图标。 > > 2.backgroundColor和activatedBackgroundColor赋值undefined时,显示默认背景颜色,赋值非法值时,背景色透明。 > > 3.prefixSymbol/suffixSymbol的fontColor默认值,normalFontColor: `[$r('sys.color.ohos_id_color_primary')]`、activatedFontColor: `[$r('sys.color.ohos_id_color_text_primary_contrary')]`。fontColor默认值为16。 > > 4.prefixIcon的fillColor默认值:`$r('sys.color.ohos_id_color_secondary')`,suffixIcon的fillColor默认值:`$r('sys.color.ohos_id_color_primary')`。fillColor对颜色的解析与Image组件保持一致。 > > 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组件保持一致。 ## ChipSize ChipSize是chip可指定的尺寸类型,如普通型Chip。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | ------ | -------- | ------------------ | | NORMAL | "NORMAL" | normal尺寸操作块。 | | SMALL | "SMALL" | small尺寸操作块。 | ## AccessibilitySelectedType14+ AccessibilitySelectedType是Chip可指定的选中态类型,如默认类型为AccessibilitySelectedType.CLICKED。 **原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | ---- | -- | ---- | | CLICKED | 0 | Chip组件选中态默认类型。| | CHECKED | 1 | Chip组件选中态复选类型。| | SELECTED | 2 | Chip组件选中态单选类型。| ## IconCommonOptions IconCommonOptions定义图标的共通属性。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 必填 | 说明 | | --------- | ------------------------------------------ | ---- | ------------------------------------------------------------ | | src | [ResourceStr](ts-types.md#resourcestr) | 是 | 图标图片或图片地址引用。 | | size | [SizeOptions](ts-types.md#sizeoptions) | 否 | 图标大小,不支持百分比。
默认值:{width: 16,height: 16} | | fillColor | [ResourceColor](ts-types.md#resourcecolor) | 否 | 图标填充颜色。 | | activatedFillColor12+ | [ResourceColor](ts-types.md#resourcecolor) | 否 | 操作块激活时图标填充颜色。 | > **说明:** > > 仅在图片格式为svg时,fillColor和activatedFillColor生效。 > ## PrefixIconOptions PrefixIconOptions定义前缀图标的属性。 继承于[IconCommonOptions](#iconcommonoptions)。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ## SuffixIconOptions SuffixIconOptions定义后缀图标的属性。 继承于[IconCommonOptions](#iconcommonoptions)。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 必填 | 说明 | | ------ | ---------- | ---- | ------------------ | | action | () => void | 否 | 后缀图标设定事件。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | accessibilityText14+ | [ResourceStr](ts-types.md#resourcestr) | 否 | 后缀图标无障碍文本属性。当后缀图标不包含文本属性时,屏幕朗读选中后缀图标时不播报,使用者无法清楚地知道当前是否选中了后缀图标。为了解决此场景,开发人员可为不包含文字信息的后缀图标设置无障碍文本,当屏幕朗读选中后缀图标时播报无障碍文本的内容,帮助屏幕朗读的使用者清楚地知道自己是否选中了后缀图标。
**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。| | accessibilityDescription14+ | [ResourceStr](ts-types.md#resourcestr) | 否 | 后缀图标无障碍描述。的无障碍描述。此描述用于向用户详细解释后缀图标,开发人员应为后缀图标的这一属性提供较为详尽的文本说明,以协助用户理解即将执行的操作及其可能产生的后果。特别是当这些后果无法仅从后缀图标的属性和无障碍文本中直接获知时。如果后缀图标同时具备文本属性和无障碍说明属性,当后缀图标被选中时,系统将首先播报后缀图标的文本属性,随后播报无障碍说明属性的内容。
**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。| | accessibilityLevel14+ | string | 否 | 后缀图标无障碍重要性。用于控制后缀图标是否可被无障碍辅助服务所识别。
支持的值为:
"auto":当前组件存在action时转化为“yes”,不存在action时,转化为“no”。
"yes":当前组件可被无障碍辅助服务所识别。
"no":当前组件不可被无障碍辅助服务所识别。
"no-hide-descendants":当前组件及其所有子组件不可被无障碍辅助服务所识别。
默认值:"auto"。
**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。| ## AccessibilityOptions14+ 后缀图标的无障碍朗读功能属性。 **原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 必填 | 说明 | | ------ | ---------- | ---- | ------------------ | | accessibilityText | [ResourceStr](ts-types.md#resourcestr) | 否 | 无障碍文本属性。当组件不包含文本属性时,屏幕朗读选中此组件时不播报,使用者无法清楚地知道当前选中了什么组件。为了解决此场景,开发人员可为不包含文字信息的组件设置无障碍文本,当屏幕朗读选中此组件时播报无障碍文本的内容,帮助屏幕朗读的使用者清楚地知道自己选中了什么组件。| | accessibilityDescription | [ResourceStr](ts-types.md#resourcestr) | 否 | 无障碍描述。此描述用于向用户详细解释当前组件,开发人员应为组件的这一属性提供较为详尽的文本说明,以协助用户理解即将执行的操作及其可能产生的后果。特别是当这些后果无法仅从组件的属性和无障碍文本中直接获知时。如果组件同时具备文本属性和无障碍说明属性,当组件被选中时,系统将首先播报组件的文本属性,随后播报无障碍说明属性的内容。| | accessibilityLevel | string | 否 | 无障碍重要性。用于控制某个组件是否可被无障碍辅助服务所识别。
支持的值为:
"auto":当前组件会转换为“yes”。
"yes":当前组件可被无障碍辅助服务所识别。
"no":当前组件不可被无障碍辅助服务所识别。
"no-hide-descendants":当前组件及其所有子组件不可被无障碍辅助服务所识别。
默认值:"auto"。| ## ChipSuffixSymbolGlyphOptions14+ symbol类型后缀图标属性的无障碍朗读功能属性类型。 **原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 必填 | 说明 | | ---- | ---- | --- | ---- | | action | [VoidCallback](ts-types.md#voidcallback12) | 否 | 后缀图标响应事件。| | normalAccessibility | [AccessibilityOptions](#accessibilityoptions14) | 否 | 非激活态无障碍朗读功能属性。| | activatedAccessibility | [AccessibilityOptions](#accessibilityoptions14) | 否 | 激活态无障碍朗读功能属性。| ## ChipSymbolGlyphOptions12+ ChipSymbolGlyphOptions定义前缀图标和后缀图标的属性。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 必填 | 说明 | | ------ | ---------- | ---- | ------------------ | | normal | [SymbolGlyphModifier](ts-universal-attributes-attribute-modifier.md) | 否 | 图标设定事件。 | | activated | [SymbolGlyphModifier](ts-universal-attributes-attribute-modifier.md) | 否 | 激活时图标设定事件。 | > **说明:** > > 不支持通过symbolEffect修改动效类型和effectStrategy设置动效。 > ## LabelOptions LabelOptions定义文本的属性。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 必填 | 说明 | | ----------- | ------------------------------------------ | ---- | ------------------------------------------------------------ | | text | string | 是 | 文本文字内容。 | | fontSize | [Dimension](ts-types.md#dimension10) | 否 | 文字字号,不支持百分比。
默认值:$r('sys.float.ohos_id_text_size_button2') | | fontColor | [ResourceColor](ts-types.md#resourcecolor) | 否 | 文字颜色。
默认值:$r('sys.color.ohos_id_color_text_primary') | | activatedFontColor12+ | [ResourceColor](ts-types.md#resourcecolor) | 否 | 操作块激活时的文字颜色。
默认值:$r('sys.color.ohos_id_color_text_primary_contrary') | | fontFamily | string | 否 | 文字字体。
默认值:"HarmonyOS Sans" | | labelMargin | [LabelMarginOptions](#labelmarginoptions) | 否 | 文本与左右侧图标之间间距。 | | localizedLabelMargin12+ | [LocalizedLabelMarginOptions](#localizedlabelmarginoptions12) | 否 | 本地化文本与左右侧图标之间间距。
默认值:{
start: LengthMetrics.vp(6), end: LengthMetrics.vp(6)
} | ## CloseOptions14+ 默认关闭图标的无障碍朗读功能属性,accessibilityText默认为"删除"。 继承于[AccessibilityOptions](#accessibilityoptions14)。 **原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ## LabelMarginOptions LabelMarginOptions定义文本与左右侧图标之间间距。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 必填 | 说明 | | ----- | ------------------------------------ | ---- | -------------------------------------- | | left | [Dimension](ts-types.md#dimension10) | 否 | 文本与左侧图标之间间距,不支持百分比。 | | right | [Dimension](ts-types.md#dimension10) | 否 | 文本与右侧图标之间间距,不支持百分比。 | ## LocalizedLabelMarginOptions12+ LocalizedLabelMarginOptions定义本地化文本与左右侧图标之间间距。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 必填 | 说明 | | ----- | ------------------------------------------------------------ | ---- | -------------------------------------- | | start | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 否 | 文本与左侧图标之间间距,不支持百分比。 | | end | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 否 | 文本与右侧图标之间间距,不支持百分比。 | ## 示例 ### 示例1(自定义后缀图标) 该示例通过配置suffixIcon实现自定义操作块的后缀图标。 ```ts import { Chip, ChipSize } from '@kit.ArkUI'; @Entry @Component struct Index { build() { Column({ space: 10 }) { Chip({ prefixIcon: { src: $r('app.media.chips'), size: { width: 16, height: 16 }, fillColor: Color.Red }, label: { text: "操作块", fontSize: 12, fontColor: Color.Blue, fontFamily: "HarmonyOS Sans", labelMargin: { left: 20, right: 30 } }, suffixIcon: { src: $r('app.media.close'), size: { width: 16, height: 16 }, fillColor: Color.Red }, size: ChipSize.NORMAL, allowClose: false, enabled: true, backgroundColor: $r('sys.color.ohos_id_color_button_normal'), borderRadius: $r('sys.float.ohos_id_corner_radius_button') }) } } } ``` ![](figures/chip1.png) ### 示例2(设置默认后缀图标) 该示例通过配置allowClose为true显示后缀删除图标。 ```ts import { Chip, ChipSize } from '@kit.ArkUI'; @Entry @Component struct Index { build() { Column({ space: 10 }) { Chip({ prefixIcon: { src: $r('app.media.chips'), size: { width: 16, height: 16 }, fillColor: Color.Blue }, label: { text: "操作块", fontSize: 12, fontColor: Color.Blue, fontFamily: "HarmonyOS Sans", labelMargin: { left: 20, right: 30 } }, size: ChipSize.NORMAL, allowClose: true, enabled: true, backgroundColor: $r('sys.color.ohos_id_color_button_normal'), borderRadius: $r('sys.float.ohos_id_corner_radius_button') }) } } } ``` ![](figures/chip2.png) ### 示例3(不显示后缀图标) 该示例通过配置allowClose为false不显示后缀删除图标。 ```ts import { Chip, ChipSize } from '@kit.ArkUI'; @Entry @Component struct Index { build() { Column({ space: 10 }) { Chip({ prefixIcon: { src: $r('app.media.chips'), size: { width: 16, height: 16 }, fillColor: Color.Blue }, label: { text: "操作块", fontSize: 12, fontColor: Color.Blue, fontFamily: "HarmonyOS Sans", labelMargin: { left: 20, right: 30 } }, size: ChipSize.SMALL, allowClose: false, enabled: true, backgroundColor: $r('sys.color.ohos_id_color_button_normal'), borderRadius: $r('sys.float.ohos_id_corner_radius_button'), onClose:()=>{ console.log("chip on close") } }) } } } ``` ![](figures/chip3.png) ### 示例4(激活态操作块) 该示例通过配置activated实现激活态操作块。 ```ts import { Chip, ChipSize } from '@kit.ArkUI'; @Entry @Component struct Index { @State isActivated: boolean = false build() { Column({ space: 10 }) { Chip({ prefixIcon: { src: $r('app.media.chips'), size: { width: 16, height: 16 }, fillColor: Color.Blue, activatedFillColor: $r('sys.color.ohos_id_color_text_primary_contrary') }, label: { text: "操作块", fontSize: 12, fontColor: Color.Blue, activatedFontColor: $r('sys.color.ohos_id_color_text_primary_contrary'), fontFamily: "HarmonyOS Sans", labelMargin: { left: 20, right: 30 } }, size: ChipSize.NORMAL, allowClose: true, enabled: true, activated: this.isActivated, backgroundColor: $r('sys.color.ohos_id_color_button_normal'), activatedBackgroundColor: $r('sys.color.ohos_id_color_emphasize'), borderRadius: $r('sys.float.ohos_id_corner_radius_button'), onClose:()=>{ console.log("chip on close") }, onClicked:()=>{ console.log("chip on clicked") } }) Button('改变激活状态').onClick(()=>{ this.isActivated = !this.isActivated }) } } } ``` ![](figures/chip4.gif) ### 示例5(设置symbol类型图标) Chip组件的前缀、后缀图标使用symbol类型资源展示。 ```ts import { Chip, ChipSize, SymbolGlyphModifier } from '@kit.ArkUI'; @Entry @Component struct Index { @State isActivated: boolean = false build() { Column({ space: 10 }) { Chip({ prefixIcon: { src: $r('app.media.chips'), size: { width: 16, height: 16 }, fillColor: Color.Blue, activatedFillColor: $r('sys.color.ohos_id_color_text_primary_contrary') }, prefixSymbol: { normal: new SymbolGlyphModifier($r('sys.symbol.ohos_star')).fontSize(16).fontColor([Color.Green]), activated: new SymbolGlyphModifier($r('sys.symbol.ohos_star')).fontSize(16).fontColor([Color.Red]), }, label: { text: "操作块", fontSize: 12, fontColor: Color.Blue, activatedFontColor: $r('sys.color.ohos_id_color_text_primary_contrary'), fontFamily: "HarmonyOS Sans", labelMargin: { left: 20, right: 30 }, }, size: ChipSize.NORMAL, allowClose: true, enabled: true, activated: this.isActivated, backgroundColor: $r('sys.color.ohos_id_color_button_normal'), activatedBackgroundColor: $r('sys.color.ohos_id_color_emphasize'), borderRadius: $r('sys.float.ohos_id_corner_radius_button'), onClose:()=>{ console.log("chip on close") }, onClicked:()=>{ console.log("chip on clicked") } }) Button('改变激活状态').onClick(()=>{ this.isActivated = !this.isActivated }) } } } ``` ![](figures/chip5.gif) ### 示例6(设置镜像效果) 该示例通过配置direction实现Chip布局镜像化展示。 ```ts import { Chip, ChipSize,LengthMetrics } from '@kit.ArkUI'; @Entry @Component struct ChipPage { build() { Column() { Chip({ direction: Direction.Rtl, prefixIcon: { src: $r('app.media.chips'), size: { width: 16, height: 16 }, fillColor: Color.Red, }, label: { text: "操作块", fontSize: 12, fontColor: Color.Blue, fontFamily: "HarmonyOS Sans", localizedLabelMargin: { start: LengthMetrics.vp(20), end: LengthMetrics.vp(20) }, }, suffixIcon: { src: $r('app.media.close'), size: { width: 16, height: 16 }, fillColor: Color.Red, }, size: ChipSize.NORMAL, allowClose: false, enabled: true, backgroundColor: $r('sys.color.ohos_id_color_button_normal'), borderRadius: $r('sys.float.ohos_id_corner_radius_button') }) }.justifyContent(FlexAlign.Center) .width('100%') .height('100%') } } ``` ![](figures/chip6.png) ### 示例7(Image类型无障碍朗读) 该示例代码实现了Chip组件Image类型后缀图标的无障碍朗读功能。 ```ts // xxx.ets import { Chip, SymbolGlyphModifier } from '@kit.ArkUI'; @Builder function DefaultFunction(): void { } @Component struct SectionGroup { @Prop @Require title: ResourceStr; @BuilderParam @Require content: () => void = DefaultFunction; build() { Column({ space: 4 }) { Text(this.title) .fontColor('#FF666666') .fontSize(12) Column({ space: 8 }) { this.content() } } .alignItems(HorizontalAlign.Start) .width('100%') } } @Component struct SectionItem { @Prop @Require title: ResourceStr; @BuilderParam @Require content: () => void = DefaultFunction; build() { Column({ space: 12 }) { Text(this.title) this.content() } .backgroundColor('#FFFFFFFF') .borderRadius(12) .padding(12) .width('100%') } } @Entry @Component struct ChipExample2 { @State activated: boolean = false; build() { NavDestination() { Scroll() { SectionGroup({ title: '后缀图标播报' }) { SectionItem({ title: '自定义播报' }) { Chip({ label: { text: '操作块' }, suffixIcon: { src: $r('sys.media.ohos_ic_public_cut'), accessibilityText: '图标', accessibilityDescription: '新手提醒', action: () => { this.getUIContext().getPromptAction().showToast({ message: '后缀图标被点击!' }); } }, onClicked: () => { this.getUIContext().getPromptAction().showToast({ message: '操作块被点击!' }); } }) } } } } } } ``` ### 示例8(symbol类型无障碍朗读) 该示例代码实现了Chip组件symbol类型后缀图标的无障碍朗读功能。 ```ts import { Chip, SymbolGlyphModifier } from '@kit.ArkUI'; @Builder function DefaultFunction(): void { } @Component struct SectionGroup { @Prop @Require title: ResourceStr; @BuilderParam @Require content: () => void = DefaultFunction; build() { Column({ space: 4 }) { Text(this.title) .fontColor('#FF666666') .fontSize(12) Column({ space: 8 }) { this.content() } } .alignItems(HorizontalAlign.Start) .width('100%') } } @Component struct SectionItem { @Prop @Require title: ResourceStr; @BuilderParam @Require content: () => void = DefaultFunction; build() { Column({ space: 12 }) { Text(this.title) this.content() } .backgroundColor('#FFFFFFFF') .borderRadius(12) .padding(12) .width('100%') } } @Entry @Component struct ChipExample2 { @State activated: boolean = false; build() { NavDestination() { Scroll() { SectionGroup({ title: '后缀Symbol播报' }) { SectionItem({ title: 'activatedAccessibility' }) { Chip({ label: { text: '操作块' }, activated: true, suffixSymbol: { activated: new SymbolGlyphModifier($r('sys.symbol.media_sound')) .fontSize(72), }, suffixSymbolOptions: { activatedAccessibility: { accessibilityText: '音乐', accessibilityDescription: '新手提醒' }, action: () => { this.getUIContext().getPromptAction().showToast({ message: '后缀Symbol被点击!' }); } }, onClicked: () => { this.getUIContext().getPromptAction().showToast({ message: '操作块被点击!' }); } }) } SectionItem({ title: 'normalAccessibility' }) { Chip({ label: { text: '操作块' }, suffixSymbol: { normal: new SymbolGlyphModifier($r('sys.symbol.media_sound')) .fontSize(72), }, suffixSymbolOptions: { normalAccessibility: { accessibilityText: '音乐', accessibilityDescription: '新手提醒' }, action: () => { this.getUIContext().getPromptAction().showToast({ message: '后缀Symbol被点击!' }); } }, onClicked: () => { this.getUIContext().getPromptAction().showToast({ message: '操作块被点击!' }); } }) } } } } .padding({ top: 8, bottom: 8, left: 16, right: 16, }) } } ```