# Popup控制

名称

参数类型

默认值

参数描述

bindPopup

{

show: boolean,

popup: {

message: string,

placementOnTop: boolean,

primaryButton?: {

value: string,

action: ()=>void

},

secondaryButton?:{

value: string,

action: () =>void

},

onStateChange?: (isVisible: boolean) => void

}

}

-

show: 当前弹窗提示是否显示,默认值为false。

message: 弹窗信息内容。

placementOnTop:是否在组件上方显示,默认值为false。

primaryButton: 第一个按钮。

secondaryButton: 第二个按钮。

onStateChange: 弹窗状态变化事件回调,参数为弹窗当前的显示状态。

## 示例 ``` @Entry @Component struct PopupExample { @State noHandlePopup: boolean = false @State handlePopup: boolean = false build() { Column({ space: 160 }) { Button('no handle popup') .onClick(() => { this.noHandlePopup = !this.noHandlePopup }) .bindPopup(this.noHandlePopup, { message: 'content content content ...', placementOnTop: false, onStateChange: (e) => { console.info(e.isVisible.toString()) if (!e.isVisible) { this.noHandlePopup = false } } }) Button('with handle popup') .onClick(() => { this.handlePopup = !this.handlePopup }) .bindPopup(this.handlePopup, { message: 'content content content ...', placementOnTop: true, secondaryButton: { value: 'ok', action: () => { this.handlePopup = !this.handlePopup console.info('secondaryButton click') } }, onStateChange: (e) => { console.info(e.isVisible.toString()) } }) }.width('100%').padding({ top: 5 }) } } ``` ![](figures/popup.gif)