# EditableTitleBar 编辑型标题栏,适用于多选界面或者内容的编辑界面,一般采取左叉右勾的形式。 > **说明:** > > 该组件从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 导入模块 ``` import { EditableTitleBar } from '@kit.ArkUI' ``` ## 子组件 无 ## 属性 不支持[通用属性](ts-universal-attributes-size.md) ## EditableTitleBar EditableTitleBar({leftIconStyle: EditableLeftIconType, imageItem?: EditableTitleBarItem, title: ResourceStr, subtitle?: ResourceStr, menuItems?: Array<EditableTitleBarMenuItem>, isSaveIconRequired: boolean, onSave?: () => void, onCancel?: () =>void, options: EditableTitleBarOptions, contentMargin?: LocalizedMargin}) **装饰器类型:**\@Component **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 必填 | 装饰器类型 | 说明 | | -------- | -------- | -------- | -------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | leftIconStyle | [EditableLeftIconType](#editablelefticontype) | 是 | - | 左侧按钮类型。
默认值:EditableLeftIconType.Back,表示返回。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | | imageItem12+ | [EditableTitleBarItem](#editabletitlebaritem12) | 否 | - | 用于左侧头像的单个菜单项目。
默认值:undefined。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | title | [ResourceStr](ts-types.md#resourcestr) | 是 | - | 标题。
默认值:'',表示标题内容为空。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | | subtitle12+ | [ResourceStr](ts-types.md#resourcestr) | 否 | - | 副标题。
默认值:'',表示副标题内容为空。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | menuItems | Array<[EditableTitleBarMenuItem](#editabletitlebarmenuitem)> | 否 | - | 右侧菜单项目列表。
默认值:undefined。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | | isSaveIconRequired12+ | boolean | 是 | - | 是否需要右侧的保存按钮。
默认值:true,表示需要右侧的保存按钮。
**说明:** 未使用@Require装饰,构造时不强制校验参数。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | onSave | () => void | 否 | - | 保存时的动作闭包。
默认值:() => void。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | | onCancel | () => void | 否 | - | 当左侧按钮类型为 Cancel,触发取消时的动作闭包。
默认值:() => void。
从API version 12开始,当左侧按钮类型为 Back,触发返回时的动作闭包。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | | options12+ | [EditableTitleBarOptions](#editabletitlebaroptions12) | 是 | - | 标题样式。
默认值:
{
safeAreaTypes: [SafeAreaType.SYSTEM],
safeAreaEdges: [SafeAreaEdge.TOP],
backgroundColor: '#00000000'
}。
**说明:** 未使用@Require装饰,构造时不强制校验参数。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | contentMargin12+ | [LocalizedMargin](ts-types.md#localizedmargin12) | 否 | @Prop | 标题栏外边距,不支持设置负数。
默认值:
{start: LengthMetrics.resource(`$r('sys.float.margin_left')`), end: LengthMetrics.resource(`$r('sys.float.margin_right')`)}。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | > **说明:** > > 入参对象不可为undefined,即`EditableTitleBar(undefined)`。 ## EditableLeftIconType **原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | -------- | -------- | -------- | | Back | 0 | 返回按钮。 | | Cancel | 1 | 取消按钮。 | ## EditableTitleBarMenuItem **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 必填 | 说明 | | -------- | -------- | -------- |-----------------------------------------------------------------------------------------------------------------------| | value | [ResourceStr](ts-types.md#resourcestr) | 是 | 图标资源。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | | label12+ | [ResourceStr](ts-types.md#resourcestr) | 否 | 图标标签描述。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | isEnabled | boolean | 否 | 是否启用,默认启用。
isEnabled为true时,表示为启用。
isEnabled为false时,表示为禁用。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | | action | () => void | 否 | 触发时的动作闭包。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | ## EditableTitleBarItem12+ type EditableTitleBarItem = EditableTitleBarMenuItem **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | -------- | -------- | | [EditableTitleBarMenuItem](#editabletitlebarmenuitem) | 左侧头像的单个菜单类型。 | ## EditableTitleBarOptions12+ **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | backgroundColor | [ResourceColor](ts-types.md#resourcecolor) | 否 | 标题栏背景色。
默认值: '#00000000'| | backgroundBlurStyle | [BlurStyle](ts-universal-attributes-background.md#blurstyle9) | 否 | 标题栏背景模糊样式。
默认值: [BlurStyle.NONE]| | safeAreaTypes | Array <[SafeAreaType](ts-types.md#safeareatype10)> | 否 | 非必填,配置扩展安全区域的类型。
默认值: [SafeAreaType.SYSTEM] | | safeAreaEdges | Array <[SafeAreaEdge](ts-types.md#safeareaedge10)> | 否 | 非必填,配置扩展安全区域的方向。
默认值: [SafeAreaEdge.TOP] | ## 事件 不支持[通用事件](ts-universal-events-click.md) ## 示例 ### 示例1(右侧图标自定义标题栏) 该示例主要演示EditableTitleBar设置左侧图标、主标题及自定义右侧图标区的效果。 ```ts import { EditableLeftIconType, EditableTitleBar, promptAction } from '@kit.ArkUI'; @Entry @Component struct Index { build() { Row() { Column() { Divider().height(2).color(0xCCCCCC) // 左侧取消按钮,右侧保存按钮。 EditableTitleBar({ leftIconStyle: EditableLeftIconType.Cancel, title: '编辑页面', menuItems: [], onCancel: () => { promptAction.showToast({ message: 'on cancel' }); }, onSave: () => { promptAction.showToast({ message: 'on save' }); } }) Divider().height(2).color(0xCCCCCC) // 左侧返回按钮,右侧自定义取消按钮(disabled)、保存按钮。 EditableTitleBar({ leftIconStyle: EditableLeftIconType.Back, title: '编辑页面', menuItems: [ { value: $r('sys.media.ohos_ic_public_cancel'), isEnabled: false, action: () => { promptAction.showToast({ message: 'show toast index 2' }); } } ], onSave: () => { promptAction.showToast({ message: 'on save' }) } }) Divider().height(2).color(0xCCCCCC) }.width('100%') }.height('100%') } } ``` ![zh-cn_image_editabletitlebar_example01](figures/zh-cn_image_editabletitlebar_example01.png) ### 示例2(头像与背景模糊标题栏) 该示例主要演示EditableTitleBar设置背景模糊、头像;取消右侧保存图标及自定义标题栏外边距的效果。 ```ts import { EditableLeftIconType, EditableTitleBar, LengthMetrics, promptAction, router } from '@kit.ArkUI'; @Entry @Component struct Index { @State titleBarMargin: LocalizedMargin = { start: LengthMetrics.vp(35), end: LengthMetrics.vp(35), }; build() { Row() { Column() { EditableTitleBar({ leftIconStyle: EditableLeftIconType.Cancel, title: '主标题', subtitle: '副标题', // 设置背景模糊效果 options: { backgroundBlurStyle: BlurStyle.COMPONENT_THICK, }, onSave: () => { promptAction.showToast({ message: "on save" }); }, }) Divider().height(2).color(0xCCCCCC); EditableTitleBar({ leftIconStyle: EditableLeftIconType.Cancel, title: '主标题', subtitle: '副标题', // 取消右侧保存按钮 isSaveIconRequired: false, }) Divider().height(2).color(0xCCCCCC); EditableTitleBar({ leftIconStyle: EditableLeftIconType.Back, title: '主标题', subtitle: '副标题', isSaveIconRequired: false, onCancel: () => { router.back(); }, }) Divider().height(2).color(0xCCCCCC); EditableTitleBar({ leftIconStyle: EditableLeftIconType.Back, title: '主标题', subtitle: '副标题', menuItems: [ { value: $r('sys.media.ohos_ic_public_remove'), isEnabled: true, action: () => { promptAction.showToast({ message: "show toast index 1" }); } } ], isSaveIconRequired: false, // 点击左侧Back图标,触发的动作。 onCancel: () => { router.back(); }, }) Divider().height(2).color(0xCCCCCC); EditableTitleBar({ leftIconStyle: EditableLeftIconType.Back, title: '主标题', subtitle: '副标题', // 设置可点击头像 imageItem: { value: $r('sys.media.ohos_ic_normal_white_grid_image'), isEnabled: true, action: () => { promptAction.showToast({ message: "show toast index 2" }); } }, // 设置标题栏外边距 contentMargin: this.titleBarMargin, // 右侧图标配置 menuItems: [ { value: $r('sys.media.ohos_ic_public_remove'), isEnabled: true, action: () => { promptAction.showToast({ message: "show toast index 3" }); } } ], onCancel: () => { router.back(); }, }) } } } } ``` ![zh-cn_image_editabletitlebar_example02](figures/zh-cn_image_editabletitlebar_example02.png)