• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SubHeaderV2
2
3
4子标题,用于列表项顶部,将该组列表划分为一个区块,子标题名称用来概括该区块内容。也可以用于内容项顶部,子标题名称用来概括该区块内容。
5
6该组件基于[状态管理V2](../../../ui/state-management/arkts-state-management-overview.md#状态管理v2)实现,相较于[状态管理V1](../../../ui/state-management/arkts-state-management-overview.md#状态管理v1),状态管理V2增强了对数据对象的深度观察与管理能力,不再局限于组件层级。借助状态管理V2,开发者可以通过该组件更灵活地控制子标题的数据和状态,实现更高效的用户界面刷新。
7
8
9
10> **说明:**
11>
12> - 该组件从API version 18开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
13>
14> - 该组件不支持在Wearable设备上使用。
15
16
17
18## 导入模块
19
20```ts
21import { SubHeader } from '@kit.ArkUI';
22```
23
24
25## 子组件
26
2728
29## 属性
30
31不支持[通用属性](ts-component-general-attributes.md)。
32
33## SubHeaderV2
34
35SubHeaderV2({
36icon?: SubHeaderV2IconType,
37title?: SubHeaderV2Title,
38select?: SubHeaderV2Select,
39operationType?: SubHeaderV2OperationType,
40operationItems?: SubHeaderV2OperationItem
41})
42
43子标题,用于列表项顶部,将该组列表划分为一个区块,子标题名称用来概括该区块内容。也可以用于内容项顶部,子标题名称用来概括该区块内容。
44
45**装饰器类型:** @ComponentV2
46
47**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
48
49**系统能力:** SystemCapability.ArkUI.ArkUI.Full
50
51| 名称 | 类型                                                      | 必填 | 装饰器类型 | 说明                                     |
52| -------- |---------------------------------------------------------| -------- | -------- |----------------------------------------|
53| icon| [SubHeaderV2IconType](#subheaderv2icontype)             | 否 | @Param | 图标设置项。<br />默认值:undefined              |
54| title| [SubHeaderV2Title](#subheaderv2title)                   | 否 | @Param| 标题设置项。<br />默认值:undefined              |
55| select| [SubHeaderV2Select](#subheaderv2select)                 | 否 | @Param | select内容以及事件。<br />默认值:undefined       |
56| operationType | [SubHeaderV2OperationType](#subheaderv2operationtype)   | 否 | @Param| 操作区元素样式。<br />默认值:OperationType.BUTTON |
57| operationItems | [SubHeaderV2OperationItem](#subheaderv2operationitem)[] | 否 | @Param| 操作区的设置项。<br />默认值:undefined            |
58| titleBuilder | [SubHeaderV2TitleBuilder](#subheaderv2titlebuilder)                            | 否 | @BuilderParam | 自定义标题区内容。<br />默认值:() => void          |
59
60## SubHeaderV2IconType
61
62type SubHeaderV2IconType = ResourceStr | SymbolGlyphModifier
63
64图标内容的联合类型。
65
66**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
67
68**系统能力:** SystemCapability.ArkUI.ArkUI.Full
69
70| 类型                        | 说明                     |
71| ----------------------------- |------------------------|
72| ResourceStr                 | 资源类型,用于定义普通图标。         |
73| SymbolGlyphModifier | Symbol类型,用于定义Symbol图标。 |
74
75## SubHeaderV2Title
76标题设置项
77
78**装饰器类型:** @ObservedV2
79
80### 属性
81
82**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
83
84**系统能力:** SystemCapability.ArkUI.ArkUI.Full
85
86| 名称 | 类型 | 必填 | 装饰器类型 | 说明                           |
87| -------- | -------- | -------- | -------- |------------------------------|
88| primaryTitle|  [ResourceStr](ts-types.md#resourcestr)  | 否 | @Trace | 标题内容。<br />默认值:undefined                        |
89| secondaryTitle|  [ResourceStr](ts-types.md#resourcestr)  | 否 | @Trace | 副标题内容。<br />默认值:undefined                       |
90| primaryTitleModifier|  [TextModifier](ts-universal-attributes-attribute-modifier.md)  | 否 | @Trace | 设置标题文本属性,如设置标题颜色、字体大小、字重等。<br />默认值:undefined   |
91| secondaryTitleModifier|   [TextModifier](ts-universal-attributes-attribute-modifier.md)  | 否 | @Trace | 设置副标题文本属性,如设置副标题颜色、字体大小、字重等。<br />默认值:undefined |
92
93### constructor
94
95constructor(options: SubHeaderV2TitleOptions)
96
97标题内容信息SubHeaderV2Title构造函数。
98
99**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
100
101**系统能力:** SystemCapability.ArkUI.ArkUI.Full
102
103**参数:**
104
105| 参数名    | 类型                                                  | 必填 | 说明             |
106| --------- |-----------------------------------------------------| ------ | ------------------ |
107| options | [SubHeaderV2TitleOptions](#subheaderv2titleoptions) | 是   | 标题内容信息。 |
108
109## SubHeaderV2TitleOptions
110
111用于构建SubHeaderV2Title对象。
112
113**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
114
115**系统能力:** SystemCapability.ArkUI.ArkUI.Full
116
117| 名称 | 类型 | 必填  | 说明                          |
118| -------- | -------- | -------- |-----------------------------|
119| primaryTitle|  [ResourceStr](ts-types.md#resourcestr)  | 否 | 标题内容。<br />默认值:undefined                       |
120| secondaryTitle|  [ResourceStr](ts-types.md#resourcestr)  | 否 | 副标题内容。<br />默认值:undefined                      |
121| primaryTitleModifier|  [TextModifier](ts-universal-attributes-attribute-modifier.md)  | 否 | 设置标题文本属性,如设置副标题颜色、字体大小、字重等。<br />默认值:undefined |
122| secondaryTitleModifier|   [TextModifier](ts-universal-attributes-attribute-modifier.md)  | 否 | 设置副标题文本属性,如设置标题颜色、字体大小、字重等。<br />默认值:undefined |
123
124## SubHeaderV2Select
125
126select内容以及事件。
127
128**装饰器类型:** @ObservedV2
129
130### 属性
131
132**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
133
134**系统能力:** SystemCapability.ArkUI.ArkUI.Full
135
136| 名称 | 类型                                                               | 必填 | 装饰器类型| 说明                                                                        |
137| -------- |------------------------------------------------------------------| -------- | -------- |---------------------------------------------------------------------------|
138| options | [SelectOption](ts-basic-components-select.md#selectoption对象说明)[] | 是 | @Trace | 下拉选项内容。                                                                   |
139| selectedIndex | number                                                           | 否 |@Trace | 设置下拉菜单初始选项的索引。<br />第一项的索引为0。<br />当不设置selected属性时,<br />默认选择值为-1,菜单项不选中。 |
140| selectedContent | string                                                           | 否 | @Trace | 设置下拉按钮本身的文本内容。默认值''                                                       |
141| onSelect | [SubHeaderV2SelectOnSelect](#subheaderv2selectonselect)                                   | 否 | @Trace | 下拉菜单选中某一项的回调。 <br />默认值:undefined                                               |
142| defaultFocus | boolean | 否 | @Trace |下拉按钮是否为默认焦点。<br/>true:下拉按钮是默认焦点。<br/>false:下拉按钮不是默认焦点。<br />默认值:false                                  |
143
144### constructor
145
146constructor(options: SubHeaderV2SelectOptions)
147
148select内容以及事件构造函数。
149
150**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
151
152**系统能力:** SystemCapability.ArkUI.ArkUI.Full
153
154**参数:**
155
156| 参数名    | 类型                            | 必填 | 说明             |
157| --------- |-------------------------------| ------ | ------------------ |
158| options | [SubHeaderV2SelectOptions](#subheaderv2selectoptions) | 是   | 下拉选项信息。 |
159
160## SubHeaderV2SelectOptions
161
162用于构建SubHeaderV2Select对象。
163
164**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
165
166**系统能力:** SystemCapability.ArkUI.ArkUI.Full
167
168| 名称 | 类型                                                               | 必填  | 说明                                                                        |
169| -------- |------------------------------------------------------------------| -------- |---------------------------------------------------------------------------|
170| options | [SelectOption](ts-basic-components-select.md#selectoption对象说明)[] | 是 | 下拉选项内容。                                                                   |
171| selectedIndex | number                                                           | 否 | 设置下拉菜单初始选项的索引。<br />第一项的索引为0。<br />当不设置selected属性时,<br />默认选择值为-1,菜单项不选中。 |
172| selectedContent | string                                                           | 否 | 设置下拉按钮本身的文本内容。默认值''。                                                      |
173| onSelect | [SubHeaderV2SelectOnSelect](#subheaderv2selectonselect)          | 否 | 下拉菜单选中某一项的回调。<br />默认值:undefined                                                |
174| defaultFocus | boolean | 否 | 下拉按钮是否为默认焦点。<br/>true:下拉按钮是默认焦点。<br/>false:下拉按钮不是默认焦点。<br />默认值:false                                  |
175
176## SubHeaderV2SelectOnSelect
177
178type SubHeaderV2SelectOnSelect = (selectedIndex: number, selectedContent?: string) => void
179
180下拉菜单选中某一项的回调类型。
181
182**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
183
184**系统能力:** SystemCapability.ArkUI.ArkUI.Full
185
186**参数:**
187
188| 类型            | 说明                                          |
189|:--------------|:--------------------------------------------|
190| selectIndex   | 下拉菜单选中某一项的回调类型。表示选中项的索引。 |
191| selectContent | 下拉菜单选中某一项的回调类型。表示选中项的值。|
192
193## SubHeaderV2OperationType
194
195操作区元素样式。
196
197**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
198
199**系统能力:** SystemCapability.ArkUI.ArkUI.Full
200
201| 名称 | 值 | 说明 |
202| -------- | -------- | -------- |
203| TEXT_ARROW |  0  | 文本按钮(带右箭头)。 |
204| BUTTON |  1  |  文本按钮(不带右箭头)。 |
205| ICON_GROUP |  2  |  图标按钮(最多支持配置三张图标)。 |
206| LOADING |  3  |  加载动画。 |
207
208## SubHeaderV2OperationItemType
209
210type SubHeaderV2OperationItemType = ResourceStr | SymbolGlyphModifier
211
212操作区元素内容的联合类型。
213
214**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
215
216**系统能力:** SystemCapability.ArkUI.ArkUI.Full
217
218| 类型                        | 说明                                |
219| ----------------------------- |-----------------------------------|
220| ResourceStr                 | 字符串类型用于定义文本显示或普通图标;资源类型,用于定义普通图标。 |
221| SymbolGlyphModifier | Symbol类型,用于定义Symbol图标。            |
222
223## SubHeaderV2OperationItem
224
225操作区的设置项。
226
227**装饰器类型:** @ObservedV2
228
229### 属性
230
231**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
232
233**系统能力:** SystemCapability.ArkUI.ArkUI.Full
234
235| 名称 | 类型 | 必填 | 装饰器类型 | 说明                                                  |
236| -------- | -------- | -------- | -------- |-----------------------------------------------------|
237| content |  [SubHeaderV2OperationItemType](#subheaderv2operationitemtype)  | 是 | @Trace | 操作区元素内容。                                            |
238| action | SubHeaderV2OperationItemAction | 否 | @Trace | 操作区事件。默认值() => void。                                |
239| accessibilityText |[ResourceStr](ts-types.md#resourcestr) | 否 |@Trace | 子标题右侧icon图标无障碍描述。 <br />默认值:undefined                     |
240| accessibilityLevel |[string](ts-types.md#resourcestr) | 否 |@Trace | 子标题右侧icon图标无障碍重要性。<br>默认值: “yes”。                   |
241| accessibilityDescription|[ResourceStr](ts-types.md#resourcestr) | 否 |@Trace | 子标题右侧icon图标无障碍说明,用于为用户进一步说明当前组件。<br>默认值:“单指双击即可执行”。 |
242| defaultFocus | boolean | 否 | @Trace |子标题右侧按钮是否为默认焦点。<br/>true:子标题右侧按钮是默认焦点。<br/>false:子标题右侧按钮不是默认焦点。<br />默认值:false                                                                                                                                            |
243
244### constructor
245
246constructor(options: SubHeaderV2OperationItemOptions)
247
248下拉选项信息SubHeaderV2OperationItem的构造函数。
249
250**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
251
252**系统能力:** SystemCapability.ArkUI.ArkUI.Full
253
254**参数:**
255
256| 参数名    | 类型             | 必填 | 说明             |
257| --------- | -------------------- | ------ | ------------------ |
258| options | SubHeaderV2OperationItemOptions| 是   | 下拉选项信息。 |
259
260## SubHeaderV2OperationItemAction
261
262type SubHeaderV2OperationItemAction = () => void
263
264操作区的设置项的回调事件类型。
265
266**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
267
268**系统能力:** SystemCapability.ArkUI.ArkUI.Full
269
270## SubHeaderV2OperationItemOptions
271
272用于构建SubHeaderV2OperationItem对象。
273
274**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
275
276**系统能力:** SystemCapability.ArkUI.ArkUI.Full
277
278| 名称                       | 类型                                          | 必填  | 说明                                                  |
279|--------------------------|---------------------------------------------| -------- |-----------------------------------------------------|
280| content                  | [SubHeaderV2OperationItemType](#subheaderv2operationitemtype) | 是 | 文本内容。                                               |
281| action                   | [SubHeaderV2OperationItemAction](#subheaderv2operationitemaction)         | 否 | 选项操作事件。默认值() => void。                               |
282| accessibilityText        | [ResourceStr](ts-types.md#resourcestr)      | 否 | 子标题右侧icon图标无障碍描述。<br />默认值:undefined                      |
283| accessibilityLevel       | [string](ts-types.md#resourcestr)           | 否 | 子标题右侧icon图标无障碍重要性。<br>默认值: “yes”。                   |
284| accessibilityDescription | [ResourceStr](ts-types.md#resourcestr)      | 否 | 子标题右侧icon图标无障碍说明,用于为用户进一步说明当前组件。<br>默认值:“单指双击即可执行”。 |
285| defaultFocus | boolean | 否 | 子标题右侧按钮是否为默认焦点。<br/>true:子标题右侧按钮是默认焦点。<br/>false:子标题右侧按钮不是默认焦点。<br />默认值:false                                                                                                                                            |
286
287## SubHeaderV2TitleBuilder
288
289type SubHeaderV2TitleBuilder= () => void
290
291自定义标题区内容的回调事件类型。
292
293**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
294
295**系统能力:** SystemCapability.ArkUI.ArkUI.Full
296
297## 事件
298不支持[通用事件](ts-component-general-events.md)。
299
300## 示例
301### 示例1(效率型子标题)
302该示例主要演示子标题左侧为icon、secondaryTitle,右侧operationType为按钮类型。
303
304```ts
305import {
306  SubHeaderV2OperationType,
307  SubHeaderV2,
308  SubHeaderV2Title,
309  SubHeaderV2OperationItem,
310  Prompt,
311  TextModifier
312} from '@kit.ArkUI';
313
314@Entry
315@ComponentV2
316struct SubHeaderExample {
317  @Local selectText: string = "TTTTT"
318  @Local selectIndex: number = 2
319  @Local flag: boolean = true;
320  @Local index: number = 1;
321  @Local primaryTitle: ResourceStr = '一级标题';
322  @Local secondaryTitle: ResourceStr = '二级标题';
323  @Local subHeaderIcon: Resource = $r('sys.media.ohos_ic_public_email');
324  @Local title: SubHeaderV2Title = new SubHeaderV2Title({ primaryTitle: '一级标题' });
325  @Local primaryModifier: TextModifier = new TextModifier().fontColor(Color.Red);
326  @Local secondaryModifier: TextModifier = new TextModifier().fontColor(Color.Red);
327  @Local subHeaderOperationType: SubHeaderV2OperationType = SubHeaderV2OperationType.BUTTON;
328  @Local operationItems: SubHeaderV2OperationItem[] = [];
329
330  aboutToAppear(): void {
331    this.title = new SubHeaderV2Title({
332      primaryTitle: this.primaryTitle,
333      secondaryTitle: this.secondaryTitle,
334    });
335    this.operationItems = [new SubHeaderV2OperationItem({
336      content: '操作',
337      action: () => {
338        Prompt.showToast({ message: 'demo2' })
339      }
340    })]
341  }
342
343  build() {
344    Column() {
345      Column() {
346        SubHeaderV2({
347          icon: this.subHeaderIcon,
348          title: this.title,
349          operationType: this.subHeaderOperationType,
350          operationItems: this.operationItems
351        });
352      }
353    }
354  }
355}
356```
357
358![子标题1](figures/zh-cn_image_subheader_example01.png)
359
360### 示例2(双行文本内容型子标题)
361该示例主要演示子标题左侧为primaryTitle、secondaryTitle,右侧operationType类型为TEXT_ARROW。
362
363```ts
364import {
365  SubHeaderV2OperationType,
366  SubHeaderV2,
367  SubHeaderV2Title,
368  SubHeaderV2OperationItem,
369  Prompt,
370  TextModifier
371} from '@kit.ArkUI';
372
373@Entry
374@ComponentV2
375struct SubHeaderExample {
376  @Local title: SubHeaderV2Title = new SubHeaderV2Title({ primaryTitle: '一级标题', secondaryTitle: '二级标题' });
377  @Local primaryModifier: TextModifier = new TextModifier().fontColor(Color.Red);
378  @Local secondaryModifier: TextModifier = new TextModifier().fontColor(Color.Red);
379  @Local subHeaderOperationType: SubHeaderV2OperationType = SubHeaderV2OperationType.TEXT_ARROW;
380  @Local operationItems: SubHeaderV2OperationItem[] = [];
381
382  aboutToAppear(): void {
383    this.title = new SubHeaderV2Title({
384      primaryTitle: '一级标题',
385      secondaryTitle: '二级标题'
386    });
387    this.operationItems = [new SubHeaderV2OperationItem({
388      content: '更多',
389      action: () => {
390        Prompt.showToast({ message: 'demo2' })
391      }
392    })]
393  }
394
395  build() {
396    Column() {
397      Column() {
398        SubHeaderV2({
399          title: this.title,
400          operationType: this.subHeaderOperationType,
401          operationItems: this.operationItems
402        });
403      }
404    }
405  }
406}
407```
408
409![子标题2](figures/zh-cn_image_subheader_example02.png)
410
411### 示例3(spinner型内容型子标题)
412该示例主要演示子标题左侧为select,右侧operationType类型为ICON_GROUP。
413
414```ts
415import {
416  SubHeaderV2,
417  SubHeaderV2OperationType,
418  SubHeaderV2OperationItem,
419  SubHeaderV2Title,
420  SubHeaderV2Select,
421  Prompt
422} from '@kit.ArkUI';
423
424@Entry
425@ComponentV2
426struct SubHeaderExample {
427  @Local selectedValue: string = 'aaa';
428  @Local selectedIndex: number = 0;
429  @Local title: SubHeaderV2Title = new SubHeaderV2Title({ primaryTitle: '一级标题', secondaryTitle: '二级标题' });
430  @Local operationItems: SubHeaderV2OperationItem[] = [];
431  @Local select: SubHeaderV2Select =
432    new SubHeaderV2Select({ options: [{ value: 'aaa' }, { value: 'bbb' }, { value: 'ccc' }] });
433
434  aboutToAppear(): void {
435
436    this.title = new SubHeaderV2Title({
437      primaryTitle: '一级标题',
438      secondaryTitle: '二级标题'
439    });
440
441    this.selectedValue = 'selectDemo';
442    this.select = new SubHeaderV2Select({
443      options: [{ value: 'aaa' }, { value: 'bbb' }, { value: 'ccc' }],
444      selectedContent: this.selectedValue,
445      selectedIndex: this.selectedIndex,
446      onSelect: (index: number, value?: string) => {
447        Prompt.showToast({ message: 'selectdemo' })
448      }
449    })
450
451    this.operationItems = [
452      new SubHeaderV2OperationItem({
453        content: $r('sys.media.ohos_ic_public_email'),
454        action: () => {
455          Prompt.showToast({ message: 'demo' })
456        }
457      }),
458      new SubHeaderV2OperationItem({
459        content: $r('sys.media.ohos_ic_public_email'),
460        action: () => {
461          Prompt.showToast({ message: 'demo' })
462        }
463      }),
464      new SubHeaderV2OperationItem({
465        content: $r('sys.media.ohos_ic_public_email'),
466        action: () => {
467          Prompt.showToast({ message: 'demo' })
468        }
469      })]
470  }
471
472  build() {
473    Column() {
474      Column() {
475        SubHeaderV2({
476          select: this.select,
477          operationType: SubHeaderV2OperationType.ICON_GROUP,
478          operationItems: this.operationItems
479        })
480      }
481    }
482  }
483}
484```
485
486![子标题3](figures/zh-cn_image_subheader_example03.png)
487
488### 示例4(设置左侧symbol图标)
489该示例主要演示子标题左侧icon设置symbol图标。
490
491```ts
492import {
493  SubHeaderV2,
494  SubHeaderV2OperationType,
495  SubHeaderV2OperationItem,
496  SubHeaderV2Title,
497  Prompt,
498  SymbolGlyphModifier
499} from '@kit.ArkUI';
500
501@Entry
502@ComponentV2
503struct SubHeaderExample {
504  @Local icon: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi'));
505
506  aboutToAppear(): void {
507    this.icon = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontSize(24);
508    this.icon.effectStrategy(SymbolEffectStrategy.HIERARCHICAL)
509  }
510
511  build() {
512    Column() {
513      SubHeaderV2({
514        icon: this.icon,
515        title: new SubHeaderV2Title({ secondaryTitle: '标题' }),
516        operationType: SubHeaderV2OperationType.BUTTON,
517        operationItems: [new SubHeaderV2OperationItem({
518          content: '操作',
519          action: () => {
520            Prompt.showToast({ message: 'demo' })
521          }
522        })]
523      })
524    }
525  }
526}
527```
528
529![子标题4](figures/zh-cn_image_subheader_example04.gif)
530
531### 示例5(设置右侧symbol图标)
532该示例主要演示子标题operationType设置为OperationType.ICON_GROUP,operationItem的value设置为symbol图标。
533
534```ts
535import {
536  SubHeaderV2,
537  SubHeaderV2OperationType,
538  SubHeaderV2OperationItem,
539  SubHeaderV2Title,
540  SubHeaderV2Select,
541  Prompt,
542  SymbolGlyphModifier
543} from '@kit.ArkUI';
544
545@Entry
546@ComponentV2
547struct SubHeaderExample {
548  @Local icon: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi'));
549  @Local selectedValue: string = 'aaa';
550  @Local selectedIndex: number = 2;
551  @Local title: SubHeaderV2Title = new SubHeaderV2Title({ primaryTitle: '一级标题', secondaryTitle: '二级标题' });
552  @Local operationItem: SubHeaderV2OperationItem[] = [];
553  @Local select: SubHeaderV2Select =
554    new SubHeaderV2Select({ options: [{ value: 'aaa' }, { value: 'bbb' }, { value: 'ccc' }] });
555
556  aboutToAppear(): void {
557    this.icon = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi'));
558    this.icon.effectStrategy(SymbolEffectStrategy.HIERARCHICAL);
559
560    this.selectedValue = 'selectDemo';
561    this.selectedIndex = 2;
562    this.title = new SubHeaderV2Title({
563      primaryTitle: '一级标题',
564      secondaryTitle: '二级标题'
565    });
566    this.select = new SubHeaderV2Select({
567      options: [{ value: 'aaa' }, { value: 'bbb' }, { value: 'ccc' }],
568      selectedContent: this.selectedValue,
569      selectedIndex: this.selectedIndex,
570      onSelect: (index: number, value?: string) => {
571        Prompt.showToast({ message: 'demo' })
572      }
573    })
574
575    this.operationItem = [
576      new SubHeaderV2OperationItem({
577        content: new SymbolGlyphModifier($r('sys.symbol.ohos_lungs')).fontWeight(FontWeight.Lighter),
578        action: () => {
579          Prompt.showToast({ message: 'demo1' })
580        }
581      }),
582      new SubHeaderV2OperationItem({
583        content: new SymbolGlyphModifier($r('sys.symbol.ohos_lungs'))
584          .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_COLOR)
585          .fontColor([Color.Blue, Color.Grey, Color.Green])
586      ,
587        action: () => {
588          Prompt.showToast({ message: 'demo2' })
589        }
590      }),
591      new SubHeaderV2OperationItem({
592        content: new SymbolGlyphModifier($r('sys.symbol.ohos_lungs'))
593          .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_OPACITY)
594          .fontColor([Color.Blue, Color.Grey, Color.Green])
595      ,
596        action: () => {
597          Prompt.showToast({ message: 'demo3' })
598        }
599      })]
600  }
601
602  build() {
603    Column() {
604      SubHeaderV2({
605        select: this.select,
606        operationType: SubHeaderV2OperationType.ICON_GROUP,
607        operationItems: this.operationItem
608      })
609    }
610  }
611}
612```
613
614![子标题5](figures/zh-cn_image_subheader_example05.png)
615
616### 示例6(自定义标题内容)
617 该示例主要演示SubHeader设置titleBuilder自定义标题内容的效果。
618
619```ts
620import {
621  SubHeaderV2,
622  SubHeaderV2OperationType,
623  SubHeaderV2OperationItem,
624  SubHeaderV2Title,
625  Prompt
626} from '@kit.ArkUI';
627
628@Entry
629@ComponentV2
630struct SubHeaderExample {
631  @Local title: SubHeaderV2Title = new SubHeaderV2Title({ primaryTitle: '一级标题' });
632  @Local operationItem: SubHeaderV2OperationItem[] = [];
633
634  aboutToAppear(): void {
635    this.title = new SubHeaderV2Title({
636      primaryTitle: '一级标题',
637      secondaryTitle: '二级标题'
638    });
639    this.operationItem = [new SubHeaderV2OperationItem({
640      content: '更多信息',
641      action: () => {
642        Prompt.showToast({ message: 'demo' })
643      }
644    })]
645  }
646
647  @Builder
648  TitleBuilder(): void {
649    Text('自定义标题')
650      .fontSize(24)
651      .fontColor(Color.Blue)
652      .fontWeight(FontWeight.Bold)
653  }
654
655  build() {
656    Column() {
657      SubHeaderV2({
658        titleBuilder: () => {
659          this.TitleBuilder();
660        },
661        title: this.title,
662
663        operationType: SubHeaderV2OperationType.TEXT_ARROW,
664        operationItems: this.operationItem
665      })
666    }
667  }
668}
669```
670
671![子标题6](figures/zh-cn_image_subheader_example06.png)
672
673### 示例7(自定义标题样式)
674该示例主要演示SubHeader设置标题和副标题字体样式。
675
676```ts
677import {
678  SubHeaderV2,
679  SubHeaderV2OperationType,
680  SubHeaderV2OperationItem,
681  SubHeaderV2Title,
682  Prompt,
683  TextModifier
684} from '@kit.ArkUI';
685
686@Entry
687@ComponentV2
688struct SubHeaderExample {
689  @Local primaryModifier: TextModifier = new TextModifier().fontColor(Color.Blue);
690  @Local secondaryModifier: TextModifier = new TextModifier().fontColor(Color.Blue);
691  @Local title: SubHeaderV2Title = new SubHeaderV2Title({ primaryTitle: '一级标题' });
692  @Local operationItems4: SubHeaderV2OperationItem[] = [];
693
694  aboutToAppear(): void {
695    this.title = new SubHeaderV2Title({
696      primaryTitle: '一级标题',
697      primaryTitleModifier: this.primaryModifier,
698      secondaryTitle: '二级标题',
699      secondaryTitleModifier: this.secondaryModifier
700    });
701    this.operationItems4 = [new SubHeaderV2OperationItem({
702      content: '更多信息',
703      action: () => {
704        Prompt.showToast({ message: 'demo' })
705      }
706    })]
707  }
708
709  build() {
710    Column() {
711      SubHeaderV2({
712        title: this.title,
713        operationType: SubHeaderV2OperationType.TEXT_ARROW,
714        operationItems: this.operationItems4
715      })
716    }
717  }
718}
719```
720
721![子标题7](figures/zh-cn_image_subheaderv2_example07.png)
722
723
724### 示例8(右侧按钮自定义播报)
725该示例通过设置subheader的右侧按钮属性accessibilityText、accessibilityDescription、accessibilityLevel自定义屏幕朗读播报文本。
726```ts
727import {
728  SubHeaderV2OperationType,
729  SubHeaderV2,
730  SubHeaderV2Title,
731  SubHeaderV2OperationItem,
732  SubHeaderV2IconType,
733  SubHeaderV2Select,
734  Prompt
735} from '@kit.ArkUI';
736
737@Entry
738@ComponentV2
739struct SubHeaderExample {
740  @Local index: number = 1;
741  @Local primaryTitle: ResourceStr = '一级标题';
742  @Local secondaryTitle: ResourceStr = '二级标题';
743  @Local subHeaderIcon: SubHeaderV2IconType | undefined = $r('sys.media.ohos_ic_public_email');
744  @Local title: SubHeaderV2Title = new SubHeaderV2Title({ primaryTitle: '一级标题' });
745  @Local title2: SubHeaderV2Title = new SubHeaderV2Title({ primaryTitle: '一级标题', secondaryTitle: '二级标题' });
746  @Local subHeaderOperationType: SubHeaderV2OperationType = SubHeaderV2OperationType.BUTTON;
747  @Local subHeaderOperationType2: SubHeaderV2OperationType = SubHeaderV2OperationType.TEXT_ARROW;
748  @Local subHeaderOperationType3: SubHeaderV2OperationType = SubHeaderV2OperationType.ICON_GROUP;
749  @Local operationItems: SubHeaderV2OperationItem[] = [];
750  @Local selectedValue: string | undefined = 'selectDemo';
751  @Local selectedIndex: number = 0;
752  @Local select: SubHeaderV2Select =
753    new SubHeaderV2Select({ options: [{ value: 'aaa' }, { value: 'bbb' }, { value: 'ccc' }] });
754
755  aboutToAppear(): void {
756    this.select = new SubHeaderV2Select({ options: [] });
757    this.title = new SubHeaderV2Title({
758      primaryTitle: this.primaryTitle,
759      secondaryTitle: this.secondaryTitle,
760    });
761    this.operationItems = [new SubHeaderV2OperationItem({
762      content: '操作',
763      action: () => {
764        Prompt.showToast({ message: 'demo2' })
765      }
766    })]
767  }
768
769  build() {
770    Column() {
771      Column() {
772        SubHeaderV2({
773          icon: this.subHeaderIcon,
774          title: this.title,
775          select: this.select,
776          operationType: this.subHeaderOperationType,
777          operationItems: this.operationItems
778        });
779        Divider().color('grey').width('100%').height('2vp')
780        SubHeaderV2({
781          title: this.title2,
782          select: this.select,
783          operationType: this.subHeaderOperationType2,
784          operationItems: this.operationItems
785        });
786        Divider().color('grey').width('100%').height('2vp')
787        SubHeaderV2({
788          select: new SubHeaderV2Select({
789            options: [{ value: 'aaa' }, { value: 'bbb' }, { value: 'ccc' }],
790            selectedIndex: this.selectedIndex,
791            selectedContent: this.selectedValue,
792            onSelect: (index: number, value?: string) => {
793              this.selectedIndex = index;
794              this.selectedValue = value;
795              Prompt.showToast({ message: this.selectedValue })
796            }
797          }),
798          operationType: this.subHeaderOperationType3,
799          operationItems: [new SubHeaderV2OperationItem({
800            content: $r('sys.media.ohos_ic_public_email'),
801            accessibilityText: '图标1',
802            accessibilityLevel: 'yes',
803          }), new SubHeaderV2OperationItem({
804            content: $r('sys.media.ohos_ic_public_email'),
805            accessibilityText: '图标2',
806            accessibilityLevel: 'no',
807          }), new SubHeaderV2OperationItem({
808            content: $r('sys.media.ohos_ic_public_email'),
809            accessibilityText: '图标3',
810            accessibilityDescription: '点击操作图标3',
811          })]
812        });
813      }
814      Divider().color('grey').width('100%').height('2vp')
815    }
816  }
817}
818```
819![子标题8](figures/zh-cn_image_subheader_example08.png)
820
821### 示例9(右侧按钮自定义播报)
822该示例通过设置subheader的右侧按钮属性accessibilityText、accessibilityDescription、accessibilityLevel自定义屏幕朗读播报文本。
823```ts
824import {
825  SubHeaderV2OperationType,
826  SubHeaderV2,
827  SubHeaderV2Title,
828  SubHeaderV2OperationItem,
829  Prompt,
830  TextModifier
831} from '@kit.ArkUI';
832
833@Entry
834@ComponentV2
835struct SubHeaderExample {
836  @Local selectText: string = "TTTTT"
837  @Local selectIndex: number = 2
838  @Local flag: boolean = true;
839  @Local index: number = 1;
840  @Local primaryTitle: ResourceStr = '一级标题';
841  @Local secondaryTitle: ResourceStr = '二级标题';
842  @Local subHeaderIcon: Resource = $r('app.media.app_icon');
843  @Local title: SubHeaderV2Title = new SubHeaderV2Title({ primaryTitle: '一级标题' });
844  @Local primaryModifier: TextModifier = new TextModifier().fontColor(Color.Red);
845  @Local secondaryModifier: TextModifier = new TextModifier().fontColor(Color.Red);
846  @Local subHeaderOperationType: SubHeaderV2OperationType = SubHeaderV2OperationType.BUTTON;
847  @Local operationItems: SubHeaderV2OperationItem[] = [];
848
849  aboutToAppear(): void {
850    this.title = new SubHeaderV2Title({
851      secondaryTitle: this.secondaryTitle,
852    });
853    this.operationItems = [new SubHeaderV2OperationItem({
854      content: '操作',
855      defaultFocus: true,
856      action: () => {
857        Prompt.showToast({ message: 'demo2' })
858      }
859    })]
860  }
861
862  build() {
863    Column() {
864      Column() {
865        SubHeaderV2({
866          icon: this.subHeaderIcon,
867          title: this.title,
868          operationType: this.subHeaderOperationType,
869          operationItems: this.operationItems
870        });
871      }
872    }
873  }
874}
875```
876![/SubHeaderDefaultFocus](figures/SubHeaderDefaultFocus.png)