当前位置: 首页 > 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.jsqmd.com/news/953001/

相关文章:

  • 蓝桥杯单片机备赛:手把手教你用PCF8591读取光敏电阻和滑动变阻器(附完整代码)
  • C#上位机开发实战:封装一个可复用的欧姆龙NX PLC通讯库(基于CX-Compolet)
  • ai赋能硬件开发:让快马平台智能生成dht11自适应环境调节系统代码
  • Veyon——一款免费开源、跨平台的电子教室教学监控软件
  • Kaggle数据集在Colab中零配置直连加载方案
  • nacos部署
  • 2025_NIPS_Supervised Pretraining Can Learn In-Context Reinforcement Learning
  • 2026年热门的定制不锈钢风口/中央空调出风口/不锈钢圆散流风口/不锈钢旋流风口公司选择指南 - 行业平台推荐
  • 避坑指南:ZYNQ7000 AXI GPIO中断配置的那些‘坑’(IRQ_F2P、电平类型、通道使能)
  • 2026年深圳知识产权诉讼律师推荐 钟泽江双资质实战护航 - 本地品牌推荐
  • 【信息科学与工程学】【运营科学】第二篇 C4信息与通信网络运营 (C4) ——数据中心网络运营05
  • PG19 要来了!内核级 REPACK + 原生图查询,HOW2026 大咖提前剧透
  • Python面向对象编程(OOP)深度详解
  • 从零组装一台NanoVNA:亲手测量你的第一根天线驻波比(附校准全流程)
  • 2026年质量好的养生亚克力浴缸/亚克力浴缸/工程亚克力浴缸/亚克力浴缸代工推荐品牌厂家 - 品牌宣传支持者
  • Rust 注释:高效编程的最佳实践
  • Jetson Nano B01到手第一步:保姆级烧录系统与换源避坑指南(附清华源配置)
  • STM32CubeMX配置通用定时器输入捕获,实测PWM信号频率与占空比(避坑HAL库宏定义错误)
  • 2026年评价高的硅胶灌胶机/汽车电子灌胶机多家厂家对比分析 - 品牌宣传支持者
  • 2026年评价高的推拉篷/移动遮阳篷/折叠篷/推拉篷定制深度厂家推荐 - 行业平台推荐
  • SoybeanAdmin深度解析:现代Vue3中后台管理系统的架构设计与企业级实践
  • 前端新手福音:用快马AI生成飞鸟云官网代码,边做边学轻松入门
  • 2026年口碑好的不锈钢旋流风口/中央空调出风口/316电梯专用风口/管道通风口长期合作厂家推荐 - 品牌宣传支持者
  • 【Java 】逻辑控制 0基础的快来
  • 国内网络环境下,如何快速搞定Rust安装和VS Code配置(附镜像加速)
  • TI XDS100V3仿真器‘失忆’了?别慌,用这个老工具FTProg给它‘重装系统’
  • 录音转写权威指南
  • Python3 MySQL连接(使用mysql-connector)
  • 2026年口碑好的玻璃原料钾长石粉/陶瓷用钾长石粉/钾长石玻璃粉/日用瓷钾长石粉优质厂家汇总推荐 - 品牌宣传支持者
  • 十分钟用快马打造国内场景chatgpt式智能客服原型