# ComposeTitleBar
A one- or two-row title bar with profile picture is a common title bar that contains a title, subtitle (optional), and profile picture (optional). It can come with a Back button for switching between pages of different levels.
> **NOTE**
>
> This component is supported since API version 10. Updates will be marked with a superscript to indicate their earliest API version.
## Modules to Import
```
import { ComposeTitleBar } from '@kit.ArkUI'
```
## Child Components
Not supported
## Attributes
The [universal attributes](ts-universal-attributes-size.md) are not supported.
## ComposeTitleBar
ComposeTitleBar({item?: ComposeTitleBarMenuItem, title: ResourceStr, subtitle?: ResourceStr, menuItems?: Array<ComposeTitleBarMenuItem>})
**Decorator**: @Component
**Atomic service API**: This API can be used in atomic services since API version 11.
**System capability**: SystemCapability.ArkUI.ArkUI.Full
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| item | [ComposeTitleBarMenuItem](#composetitlebarmenuitem) | No| A single menu item for the profile picture on the left.|
| title | [ResourceStr](ts-types.md#resourcestr) | Yes| Title.|
| subtitle | [ResourceStr](ts-types.md#resourcestr) | No| Subtitle.|
| menuItems | Array<[ComposeTitleBarMenuItem](#composetitlebarmenuitem)> | No| List of menu items on the right.|
## ComposeTitleBarMenuItem
**Atomic service API**: This API can be used in atomic services since API version 11.
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | [ResourceStr](ts-types.md#resourcestr) | Yes| Icon resource.|
| label13+ | [ResourceStr](ts-types.md#resourcestr) | No| Icon label.|
| isEnabled | boolean | No| Whether to enable the item.
Default value: **false**
**true**: The item is enabled.
**false**: The item is disabled.|
| action | () => void | No| Action to perform. This parameter is not available for the item attribute.|
## Events
The [universal events](ts-universal-events-click.md) are not supported.
## Example
```ts
import { ComposeTitleBar, promptAction, ComposeTitleBarMenuItem } from '@kit.ArkUI'
@Entry
@Component
struct Index {
private menuItems: Array = [
{
value: $r('app.media.ic_public_save'),
isEnabled: true,
action: () => promptAction.showToast({ message: "show toast index 1" })
},
{
value: $r('app.media.ic_public_save'),
isEnabled: true,
action: () => promptAction.showToast({ message: "show toast index 1" })
},
{
value: $r('app.media.ic_public_save'),
isEnabled: true,
action: () => promptAction.showToast({ message: "show toast index 1" })
},
{
value: $r('app.media.ic_public_save'),
isEnabled: true,
action: () => promptAction.showToast({ message: "show toast index 1" })
},
]
build() {
Row() {
Column() {
Divider().height(2).color(0xCCCCCC)
ComposeTitleBar({
title: "Title",
subtitle: "Subtitle",
menuItems: this.menuItems.slice(0, 1),
})
Divider().height(2).color(0xCCCCCC)
ComposeTitleBar({
title: "Title",
subtitle: "Subtitle",
menuItems: this.menuItems.slice(0, 2),
})
Divider().height(2).color(0xCCCCCC)
ComposeTitleBar({
title: "Title",
subtitle: "Subtitle",
menuItems: this.menuItems,
})
Divider().height(2).color(0xCCCCCC)
ComposeTitleBar({
menuItems: [{ isEnabled: true, value: $r('app.media.ic_public_save'),
action: () => promptAction.showToast({ message: "show toast index 1" })
}],
title: "Title",
subtitle: "Subtitle",
item: { isEnabled: true, value: $r('app.media.app_icon') }
})
Divider().height(2).color(0xCCCCCC)
}
}.height('100%')
}
}
```
