# Panel å¯æ»‘动é¢æ¿ï¼Œæ供一ç§è½»é‡çš„内容展示窗å£ï¼Œæ–¹ä¾¿åœ¨ä¸åŒå°ºå¯¸ä¸åˆ‡æ¢ã€‚ > **说明:** > > 从API Version 12 开始,该组件ä¸å†ç»´æŠ¤ï¼ŒæŽ¨è使用通用属性[bindSheet](ts-universal-attributes-sheet-transition.md)。 > > 该组件从API Version 7开始支æŒã€‚åŽç»ç‰ˆæœ¬å¦‚æœ‰æ–°å¢žå†…å®¹ï¼Œåˆ™é‡‡ç”¨ä¸Šè§’æ ‡å•ç‹¬æ ‡è®°è¯¥å†…容的起始版本。 ## å组件 å¯ä»¥åŒ…å«å组件。 > **说明:** > > å组件类型:系统组件和自定义组件,支æŒæ¸²æŸ“控制类型([if/else](../../../quick-start/arkts-rendering-control-ifelse.md)ã€[ForEach](../../../quick-start/arkts-rendering-control-foreach.md)å’Œ[LazyForEach](../../../quick-start/arkts-rendering-control-lazyforeach.md))。 ## æŽ¥å£ Panel(show: boolean) **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | -------- | -------- | -------- | -------- | | show | boolean | 是 | 控制Panel显示或éšè—。<br/>**说明:** <br/>如果设置为false时,则ä¸å ä½éšè—。[Visible.None](ts-universal-attributes-visibility.md)或者show之间有一个生效时,都会生效ä¸å ä½éšè—。 | ## 属性 除支æŒ[通用属性](ts-universal-attributes-size.md)外,还支æŒä»¥ä¸‹å±žæ€§ï¼š ### type type(value: PanelType) å¯æ»‘动é¢æ¿çš„类型。 **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | value | [PanelType](#paneltype枚举说明) | 是 | 设置å¯æ»‘动é¢æ¿çš„类型。<br/>默认值:PanelType.Foldable | ### mode mode(value: PanelMode) å¯æ»‘动é¢æ¿çš„åˆå§‹çŠ¶æ€ã€‚ **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | value | [PanelMode](#panelmode枚举说明) | 是 | 设置å¯æ»‘动é¢æ¿çš„åˆå§‹çŠ¶æ€ã€‚<br/>Minibar类型默认值:PanelMode.Mini;其余类型默认值:PanelMode.Half<br />从API version 10开始,该属性支æŒ[$$](../../../quick-start/arkts-two-way-sync.md)åŒå‘绑定å˜é‡ã€‚ | ### dragBar dragBar(value: boolean) 设置是å¦å˜åœ¨dragbar。 **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | value | boolean | 是 | 设置是å¦å˜åœ¨dragbar,true表示å˜åœ¨ï¼Œfalse表示ä¸å˜åœ¨ã€‚<br/>默认值:true | ### customHeight<sup>10+</sup> customHeight(value: Dimension | PanelHeight) 指定PanelType.CUSTOM状æ€ä¸‹çš„高度。 **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | value | [Dimension](ts-types.md#dimension10) \| [PanelHeight](#panelheight10枚举说明) | 是 | 指定PanelType.CUSTOM状æ€ä¸‹çš„高度。<br/>默认值:0<br/>**说明:** <br/>ä¸æ”¯æŒè®¾ç½®ç™¾åˆ†æ¯”。 | ### fullHeight fullHeight(value: number | string) 指定PanelType.Full状æ€ä¸‹çš„高度。 **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------ | -------------------------- | ---- | ------------------------------------------------------------ | | value | number \| string | 是 | 指定PanelMode.Full状æ€ä¸‹çš„高度。<br/>默认值:当å‰ç»„件主轴大å°å‡åŽ»8vp空白区<br/>**说明:** <br/>ä¸æ”¯æŒè®¾ç½®ç™¾åˆ†æ¯”。 | ### halfHeight halfHeight(value: number | string) 指定PanelMode.Half状æ€ä¸‹çš„高度。 **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------ | -------------------------- | ---- | ------------------------------------------------------------ | | value | number \| string | 是 | 指定PanelMode.Half状æ€ä¸‹çš„高度。<br/>默认值:当å‰ç»„件主轴大å°çš„一åŠã€‚<br/>**说明:** <br/>ä¸æ”¯æŒè®¾ç½®ç™¾åˆ†æ¯”。 | ### miniHeight miniHeight(value: number | string) 指定PanelMode.Mini状æ€ä¸‹çš„高度。 **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------ | -------------------------- | ---- | ------------------------------------------------------------ | | value | number \| string | 是 | 指定PanelMode.Mini状æ€ä¸‹çš„高度。<br/>默认值:48<br/>å•ä½ï¼švp<br/>**说明:** <br/>ä¸æ”¯æŒè®¾ç½®ç™¾åˆ†æ¯”。 | ### show show(value: boolean) 当滑动é¢æ¿å¼¹å‡ºæ—¶è°ƒç”¨ã€‚ **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | value | boolean | 是 | 当滑动é¢æ¿å¼¹å‡ºæ—¶è°ƒç”¨ï¼Œtrue显示é¢æ¿ï¼Œfalseä¸æ˜¾ç¤ºé¢æ¿ã€‚ <br/>默认值:true<br/>**说明:** <br/>该属性的优先级高于å‚æ•°show。 | ### backgroundMask<sup>9+</sup> backgroundMask(color: ResourceColor) 指定Panel的背景蒙层。 **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | color | [ResourceColor](ts-types.md#resourcecolor) | 是 | 指定Panel的背景蒙层。<br/>默认值:'#08182431' | ### showCloseIcon<sup>10+</sup> showCloseIcon(value: boolean) 设置是å¦æ˜¾ç¤ºå…³é—å›¾æ ‡ã€‚ **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | value | boolean | 是 | 设置是å¦æ˜¾ç¤ºå…³é—å›¾æ ‡ï¼Œtrue表示显示,false表示ä¸æ˜¾ç¤ºã€‚<br/>默认值:false | ## PanelType枚举说明 **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full | å称 | 说明 | | -------- | -------- | | Minibar | æä¾›minibar和类全å±å±•ç¤ºåˆ‡æ¢æ•ˆæžœã€‚ | | Foldable | 内容永久展示类,æ供大(类全å±ï¼‰ã€ä¸ï¼ˆç±»åŠå±ï¼‰ã€å°ä¸‰ç§å°ºå¯¸å±•ç¤ºåˆ‡æ¢æ•ˆæžœã€‚ | | Temporary | 内容临时展示区,æ供大(类全å±ï¼‰ã€ä¸ï¼ˆç±»åŠå±ï¼‰ä¸¤ç§å°ºå¯¸å±•ç¤ºåˆ‡æ¢æ•ˆæžœã€‚ | | CUSTOM<sup>10+</sup> | é…置自适应内容高度,ä¸æ”¯æŒå°ºå¯¸åˆ‡æ¢æ•ˆæžœã€‚ | ## PanelMode枚举说明 **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full | å称 | 值 | 说明 | | -------- | -------- | -------- | | Mini |0| 类型为minibarå’Œfoldable时,为最å°çŠ¶æ€ï¼›ç±»åž‹ä¸ºtemporary,则ä¸ç”Ÿæ•ˆã€‚| | Half | 1 | 类型为foldableå’Œtemporary时,为类åŠå±çŠ¶æ€ï¼›ç±»åž‹ä¸ºminibar,则ä¸ç”Ÿæ•ˆã€‚ | | Full |2 | 类全å±çŠ¶æ€ã€‚ | ## PanelHeight<sup>10+</sup>枚举说明 **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full | å称 | 说明 | | -------- | -------- | | WRAP_CONTENT | 类型为CUSTOM时,自适应内容高度。 | ## 事件 除支æŒ[通用事件](ts-universal-events-click.md)外,还支æŒä»¥ä¸‹äº‹ä»¶ï¼š ### onChange onChange(event: (width: number, height: number, mode: PanelMode) => void) 当å¯æ»‘动é¢æ¿å‘生状æ€å˜åŒ–时触å‘。 **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | --------- | --------- | ---- | ------------------------------------------------------------------------------------ | | width | number | 是 | 内容区的宽度值。 | | height | number | 是 | 内容区的高度值。<br/>当dragbar属性为true时,panel本身的高度值为dragbaré«˜åº¦åŠ ä¸Šå†…å®¹åŒºé«˜åº¦ã€‚ | | mode | PanelMode | 是 | é¢æ¿çš„状æ€ã€‚ | ### onHeightChange<sup>9+</sup> onHeightChange(callback: (value: number) => void) 当å¯æ»‘动é¢æ¿å‘生高度å˜åŒ–时触å‘。 **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | --------- | --------------------------------------------------- | ---- | ---------- | | value | number | 是 | 内容区的高度值,默认返回值å•ä½ä¸ºpx。<br/>当dragbar属性为true时,panel本身的高度值为dragbaré«˜åº¦åŠ ä¸Šå†…å®¹åŒºé«˜åº¦ã€‚<br/>å› ç”¨æˆ·ä½“éªŒè®¾è®¡åŽŸå› ï¼Œpanel最高åªèƒ½æ»‘到 fullHeight-8vp。 | ## 示例 ```ts // xxx.ets @Entry @Component struct PanelExample { @State show: boolean = false build() { Column() { Text('2021-09-30 Today Calendar: 1.afternoon......Click for details') .width('90%') .height(50) .borderRadius(10) .backgroundColor(0xFFFFFF) .padding({ left: 20 }) .onClick(() => { this.show = !this.show }) Panel(this.show) { // 展示日程 Column() { Text('Today Calendar') Divider() Text('1. afternoon 4:00 The project meeting') } } .type(PanelType.Foldable) .mode(PanelMode.Half) .dragBar(true) // é»˜è®¤å¼€å¯ .halfHeight(500) // é»˜è®¤ä¸€åŠ .showCloseIcon(true) // 显示关é—å›¾æ ‡ .onChange((width: number, height: number, mode: PanelMode) => { console.info(`width:${width},height:${height},mode:${mode}`) }) }.width('100%').height('100%').backgroundColor(0xDCDCDC).padding({ top: 5 }) } } ``` 