当前位置: 首页 > news >正文

HarmonyOS 6 PopoverDialogV2 跟手弹出框使用文档

文章目录

    • 概述
    • 依赖导入
    • 核心结构:跟手弹出框
    • 配置详解
      • 1. 状态控制
      • 2. 弹出配置 PopoverDialogV2Options
      • 3. 弹框内容构建器 dialogBuilder
      • 4. 目标组件构建器 buttonBuilder
      • 5. 挂载跟手弹出框
    • 代码
    • 总结

概述

PopoverDialogV2是 DialogV2 系列中的跟手弹出框,可基于目标组件位置自动定向弹出,支持将 TipsDialogV2 / SelectDialogV2 / ConfirmDialogV2 / AlertDialogV2 / LoadingDialogV2 / CustomContentDialogV2 作为内部弹窗内容。


依赖导入

import{AlertDialogV2,PopoverDialogV2,PopoverDialogV2Options,AdvancedDialogV2Button}from'@kit.ArkUI';

核心结构:跟手弹出框

固定结构:

  1. visible:控制显示/隐藏(支持双向同步!!
  2. popover:弹出框配置(builder 指定内容)
  3. targetBuilder:目标组件(弹框依附的按钮/区域)
PopoverDialogV2({visible:显示状态!!,popover:弹出配置,targetBuilder:目标组件构建器})

配置详解

1. 状态控制

@LocalisShow:boolean=false;
  • isShow:控制跟手框显示/隐藏

2. 弹出配置 PopoverDialogV2Options

@LocalpopoverOptions:PopoverDialogV2Options={builder:()=>{this.dialogBuilder();}}
  • builder:指定弹框内容(必须用 @Builder 包装)

3. 弹框内容构建器 dialogBuilder

本例使用 AlertDialogV2 作为内容:

@BuilderdialogBuilder(){AlertDialogV2({content:'跟手弹出框',primaryButton:newAdvancedDialogV2Button({content:'取消',action:()=>{this.isShow=false;}}),secondaryButton:newAdvancedDialogV2Button({content:'确认',action:()=>{this.isShow=false;}})});}

4. 目标组件构建器 buttonBuilder

弹框依附于此按钮:

@BuilderbuttonBuilder(){Button('跟手弹出框目标组件').onClick(()=>{this.isShow=true;});}

5. 挂载跟手弹出框

PopoverDialogV2({visible:this.isShow!!,popover:this.popoverOptions,targetBuilder:()=>{this.buttonBuilder();}})
  • visible: this.isShow!!:双向同步显示状态(官方推荐写法)
  • popover:绑定弹框配置
  • targetBuilder:绑定目标按钮

代码

import{AlertDialogV2,PopoverDialogV2,PopoverDialogV2Options,AdvancedDialogV2Button}from'@kit.ArkUI';@Entry@ComponentV2struct Index{@LocalisShow:boolean=false;@LocalpopoverOptions:PopoverDialogV2Options={builder:()=>{this.dialogBuilder();}}@BuilderdialogBuilder(){AlertDialogV2({content:'跟手弹出框',primaryButton:newAdvancedDialogV2Button({content:'取消',action:()=>{this.isShow=false;},}),secondaryButton:newAdvancedDialogV2Button({content:'确认',action:()=>{this.isShow=false;},}),});}@BuilderbuttonBuilder(){Button('跟手弹出框目标组件').onClick(()=>{this.isShow=true;});}build(){Column(){PopoverDialogV2({visible:this.isShow!!,popover:this.popoverOptions,targetBuilder:()=>{this.buttonBuilder();},})}}}

运行效果如图:


总结

  1. API 版本:从API 18开始支持
  2. 适用模型:仅支持Stage 模型
  3. 设备限制不支持 Wearable 设备
  4. visible 建议使用 !! 实现双向同步,状态更稳定
  5. targetBuilder 必须使用 @Builder包装
  6. 内部可嵌套任意 DialogV2 弹窗(Alert/Tips/Select/Confirm/Custom 等)
  7. 关闭弹框只需将isShow = false
  8. 不建议设置通用属性,避免布局异常

如果这篇文章对你有帮助,欢迎点赞、收藏、关注,你的支持是持续创作的动力

http://www.gsyq.cn/news/1464618.html

相关文章:

  • C#上位机开发实战:封装一个可复用的欧姆龙NX PLC通讯库(基于CX-Compolet)
  • Kaggle数据集在Colab中零配置直连加载方案
  • ai赋能硬件开发:让快马平台智能生成dht11自适应环境调节系统代码
  • PG19 要来了!内核级 REPACK + 原生图查询,HOW2026 大咖提前剧透
  • 2026年质量好的养生亚克力浴缸/亚克力浴缸/工程亚克力浴缸/亚克力浴缸代工推荐品牌厂家 - 品牌宣传支持者
  • 从零组装一台NanoVNA:亲手测量你的第一根天线驻波比(附校准全流程)
  • Rust 注释:高效编程的最佳实践
  • STM32CubeMX配置通用定时器输入捕获,实测PWM信号频率与占空比(避坑HAL库宏定义错误)
  • 前端新手福音:用快马AI生成飞鸟云官网代码,边做边学轻松入门
  • 【Java 】逻辑控制 0基础的快来
  • 录音转写权威指南
  • 十分钟用快马打造国内场景chatgpt式智能客服原型
  • Yelp评论爬虫实战:用BeautifulSoup绕过动态加载与反爬
  • SpringBoot+Vue流动夜市管理信息系统源码+论文
  • 从零理解CMOS Sensor的曝光与增益:为什么你的手机夜景照片噪点多?
  • 书匠策AI:论文写作界的“超级魔法师”,解锁期刊论文新技能!
  • 2025_NIPS_GPT4Tools: Teaching Large Language Model to Use Tools via Self-instruction
  • HarmonyOS 6 Popup 气泡弹窗组件使用文档
  • 高效HEIC缩略图方案:Windows HEIC Thumbnail Provider技术解析
  • HarmonyOS 6 AtomicServiceTabs 纯图标样式使用文档
  • 除了verify=False,安全处理requests库SSL证书验证的3种更优实践(附避坑指南)
  • 数据科学家不是建模工程师:一份真实工作流的生存手记
  • 数据科学中的推断统计实战:从AB测试到置信区间
  • 从外卖配送区到共享单车电子围栏:JTS实战解析空间关系判断(Contains/Within/Intersects)
  • 企业级AI分类系统上线倒计时72小时:紧急补漏清单(含权限穿透、语义漂移、冷启动三重熔断机制)
  • 社区搜索技术:从同质图到异质图的算法演进
  • MTKClient终极指南:联发科设备刷机救砖专业工具详解
  • 从数电实验箱到FPGA开发板:重温74LS138三八译码器,并用它搭建全加器电路
  • 别再手动修模型了!用Python的scipy.spatial.Delaunay快速搞定点云三角化(附实战代码)
  • 从HFSS仿真到PCB打样:手把手教你搞定四臂螺旋天线的移相功分网络