本文原创发布在华为开发者社区。
介绍
本示例在一个非@Entry的类中创建一个CustomDialogController弹窗,以此来实现不依赖entry的弹窗。
效果预览
使用说明
点击请求网络按钮,触发不依赖entry的弹窗。
实现思路
点击请求网络按钮触发testPromptDialog()方法。
export function testPromptDialog() { const that = GlobalContext.getContext().getObject('UIContext') as UIContext; if (that) { promptAction.openCustomDialog({ builder: customDialogBuilder.bind(that, '网络请求失败!') }).then((dialogId: number) => { customDialogId = dialogId; }) } }
testPromptDialog()方法中触发customDialogBuilder()方法,实现弹窗。
export function customDialogBuilder(content: String) { Column() { Text(`Tip: ${content} `).fontSize(20).height('30%') Text('失败原因:!!!!').fontSize(16).height('30%') Row() { Button('确认').onClick(() => { promptAction.closeCustomDialog(customDialogId) }) Blank().width(50) Button('取消').onClick(() => { promptAction.closeCustomDialog(customDialogId) }) } .margin({top: 30}) }.height(200).padding(5) }
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。