鸿蒙next版开发:ArkTS组件通用属性(Popup控制)

简介: 在HarmonyOS 5.0中,ArkTS提供了灵活的Popup控制属性,允许开发者创建和管理弹出窗口,用于显示额外信息、提示、表单等,增强用户交互体验。本文详解了Popup控制的通用属性,并提供了示例代码。通过bindPopup方法,可以将弹出窗口绑定到组件上,支持多种用途,如显示额外信息、表单提交和交互反馈。

在HarmonyOS 5.0中,ArkTS提供了灵活的Popup控制属性,允许开发者在应用中创建和管理弹出窗口(Popup)。这些弹出窗口可以用于显示额外的信息、提示、表单等,增强用户的交互体验。本文将详细解读ArkTS中Popup控制的通用属性,并提供示例代码进行说明 。

Popup控制基础
Popup控制是通过bindPopup方法实现的,它可以将弹出窗口绑定到一个组件上。当组件被点击或其他触发条件满足时,弹出窗口会显示出来。

主要Popup属性
builder: 弹出窗口内容的构造器 。
placement: 气泡组件优先显示的位置,当前位置显示不下时,会自动调整位置。默认值:Placement.Bottom 。
popupColor: 提示气泡的颜色。如需去除模糊背景填充效果,需将backgroundBlurStyle设置为BlurStyle.NONE 。
enableArrow: 是否显示箭头 。
showInSubWindow: 是否在子窗口中显示 。
示例代码
以下是一个使用ArkTS Popup控制属性的示例:

@Entry
@Component
struct PopupExample {
@State handlePopup: boolean = false
@State customPopup: boolean = false

// popup构造器定义弹框内容
@Builder popupBuilder() {
Row({ space: 2 }) {
Image($r("app.media.icon")).width(24).height(24).margin({ left: -5 })
Text('Custom Popup').fontSize(10)
}.width(100).height(50).padding(5)
}

build() {
Flex({ direction: FlexDirection.Column }) {
// PopupOptions 类型设置弹框内容
Button('PopupOptions')
.onClick(() => {
this.handlePopup = !this.handlePopup
})
.bindPopup(this.handlePopup, {
message: 'This is a popup with PopupOptions',
placementOnTop: true,
showInSubWindow:false,
primaryButton: {
value: 'confirm',
action: () => {
this.handlePopup = !this.handlePopup
console.info('confirm Button click')
}
},
secondaryButton: {
value: 'cancel',
action: () => {
this.handlePopup = !this.handlePopup
console.info('cancel Button click')
}
},
onStateChange: (e) => {
console.info(JSON.stringify(e.isVisible))
if (!e.isVisible) {
this.handlePopup = false
}
}
})
.position({ x: 100, y: 150 })

  // CustomPopupOptions 类型设置弹框内容
  Button('CustomPopupOptions')
    .onClick(() => {
      this.customPopup = !this.customPopup
    })
    .bindPopup(this.customPopup, {
      builder: this.popupBuilder,
      placement: Placement.Top,
      mask: {color:'#33000000'},
      popupColor: Color.Yellow,
      enableArrow: true,
      showInSubWindow: false,
      onStateChange: (e) => {
        if (!e.isVisible) {
          this.customPopup = false
        }
      }
    })
    .position({ x: 80, y: 300 })
}.width('100%').padding({ top: 5 })

}
}

在这个示例中,我们创建了两个按钮,每个按钮都绑定了一个弹出窗口。第一个按钮使用PopupOptions类型来设置弹出窗口的内容,而第二个按钮使用CustomPopupOptions类型来设置弹出窗口的内容。通过bindPopup方法,我们可以根据组件的状态来控制弹出窗口的显示和隐藏。

Popup控制的用途
Popup控制在ArkTS中有多种用途,包括:

显示额外信息:当用户需要更多信息时,可以弹出一个窗口来提供。
表单提交:在用户提交表单前,可以使用弹出窗口来确认信息或提供额外的输入字段。
交互反馈:通过弹出窗口来提供操作成功的反馈或错误提示。
结语
通过本文的介绍,你应该对HarmonyOS 5.0中ArkTS组件的Popup控制有了基本的了解。Popup控制是UI开发中的重要工具,合理利用这些属性可以使你的应用界面更加友好和互动。希望本文能够帮助你在开发过程中更好地利用ArkTS的Popup控制属性 。
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/lbcyllqj/article/details/143645440

目录
相关文章
|
9月前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1676 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
9月前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1101 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
9月前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1188 4
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
9月前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
418 0
|
10月前
|
传感器 监控 安全
HarmonyOS NEXT 5.0 的星闪(NearLink)开发应用案例
V哥分享HarmonyOS NEXT 5.0星闪开发实战,涵盖智能车钥匙无感解锁与工业传感器监控。低延迟、高可靠,代码完整,速来学习!
1157 0
|
移动开发 Ubuntu 网络协议
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(中)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令
468 1
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(中)
|
XML Web App开发 开发框架
鸿蒙开发入门 | 开发第一个鸿蒙应用+页面跳转
准备好鸿蒙开发环境后,接下来就需要创建鸿蒙项目,掌握项目的创建过程以及配置。项目创建好后,需要把项目运行在模拟器上,鸿蒙的模拟和安卓模拟器有些不同,鸿蒙提供远程模拟器和本地模拟器,通过登录华为账号登录在线模拟器,使用DevEco Studio可将项目部署到远程模拟器中。
1930 1
鸿蒙开发入门 | 开发第一个鸿蒙应用+页面跳转
|
存储 Ubuntu 前端开发
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(下)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令
839 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(下)
|
存储 编解码 Ubuntu
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(上)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令
562 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(上)
|
开发工具
HarmonyOS(鸿蒙)开发一文入门
HarmonyOS(鸿蒙)开发一文入门
313 0
HarmonyOS(鸿蒙)开发一文入门

热门文章

最新文章