HarmonyOS 鸿蒙Next promptAction自定义弹窗中链接跳转页面处理机制:点击链接跳转后弹窗消失,返回时弹窗保留

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next promptAction自定义弹窗中链接跳转页面处理机制:点击链接跳转后弹窗消失,返回时弹窗保留

 promptAction.openCustomDialog自定义弹窗中,如果内容有链接,点击链接跳转到其他页面。弹窗消失,返回时弹窗保留,现在满足不了这种操作,有什么办法吗
 

3 回复

你参考一下

import { router } from '@kit.ArkUI'

@Entry

@Component

struct Page {

  @State showDialog:boolean = false

  build() {

    Column() {

      Text('弹出弹窗')

        .padding(50)

        .onClick(()=>{

          this.showDialog = true

        })

    }

    .width("100%")

    .height("100%")

    .overlay(this.myDialog())

  }

  @Builder

  myDialog(){

    Flex({justifyContent:FlexAlign.Center,alignItems:ItemAlign.Center}){

      // 隐私弹窗

      Column() {

        Text("注册应用账号").fontSize(30).height('20%')

        Text("请您仔细阅读一下协议并同意,我们将全力保护您的个人信息安全,您可以使用账号登录APP。").height('40%')

        Divider()

        Row(){

          Text("《应用隐私政策》").onClick(ent => {

            router.pushUrl({url:"pages/Index"})

          })

        }

        .height('20%')

        Divider()

        Row(){

          Button("不同意").onClick(ent => {

          }).width('30%').margin(5)

          Button("同意").onClick(ent => {

          }).width('30%').margin(5)

        }.height('20%')

      }

      .borderRadius(20)

      .onClick(()=>{

      })

      .width(300)

      .height(400)

      .backgroundColor(Color.White)

    }

    .visibility(this.showDialog?Visibility.Visible:Visibility.None)

    .onClick(()=>{

      this.showDialog = false

    })

    .width('100%')

    .height('100%')

    .backgroundColor('rgba(0,0,0,0.5)')

  }

}
就跟隐私政策弹窗一样,写在onPageShow

在HarmonyOS鸿蒙Next中,针对promptAction自定义弹窗中链接跳转页面处理机制的问题,即点击链接跳转后弹窗消失,返回时希望弹窗保留,可以通过以下方式实现:

首先,确保弹窗的模态设置正确。如果弹窗被设置为模态(isModal: true),在触摸弹框外部或进行页面跳转时,弹框可能会消失。因此,需要将弹窗设置为非模态(isModal: false),这样在进行页面跳转时,弹窗将不会消失。

其次,使用合适的弹窗类型。在HarmonyOS中,Navigation.Dialog类型的弹窗基于Navigation路由形式,以进出栈的方式打开或关闭弹窗。使用这种类型的弹窗可以实现弹窗与UI界面解耦,从而确保在界面跳转后弹窗仍然保留。

最后,在应用内部逻辑中妥善处理弹窗的显示和隐藏逻辑。确保在用户未做出明确选择之前,弹窗不会因为页面跳转而消失。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部