做地方行业门户网站需要什么资格,有域名了怎么做网站,企业解决方案怎么写,嘉兴网站建设嘉兴给组件绑定popup弹窗#xff0c;并设置弹窗内容#xff0c;交互逻辑和显示状态。 说明#xff1a; 从API Version 7开始支持。后续版本如有新增内容#xff0c;则采用上角标单独标记该内容的起始版本。 popup弹窗的显示状态在onStateChange事件回调中反馈#xff0c;其显…给组件绑定popup弹窗并设置弹窗内容交互逻辑和显示状态。 说明 从API Version 7开始支持。后续版本如有新增内容则采用上角标单独标记该内容的起始版本。 popup弹窗的显示状态在onStateChange事件回调中反馈其显隐与组件的创建或销毁无强对应关系。 bindPopup
bindPopup(show: boolean, popup: PopupOptions | CustomPopupOptions)
给组件绑定Popup弹窗。
系统能力 SystemCapability.ArkUI.ArkUI.Full
参数
参数名类型必填说明showboolean是弹窗显示状态默认值为false隐藏弹窗。 show: 弹窗显示状态默认值为false隐藏弹窗。popup弹窗必须等待页面全部构建完成才能展示因此show不能在页面构建中设置为true否则会导致popup弹窗显示位置及形状错误。 popup: 配置当前弹窗提示的参数。popupPopupOptions | CustomPopupOptions8是配置弹出弹窗的参数。
PopupOptions类型说明
名称类型必填描述messagestring是弹窗信息内容。placementOnTop(deprecated)boolean否是否在组件上方显示默认值为false。说明 从 API version 10 开始废弃建议使用placement替代。primaryButton{ value: string, action: () void }否第一个按钮。 value: 弹窗里主按钮的文本。 action: 点击主按钮的回调函数。secondaryButton{ value: string, action: () void }否第二个按钮。 value: 弹窗里辅助按钮的文本。 action: 点击辅助按钮的回调函数。onStateChange(event: { isVisible: boolean }) void否弹窗状态变化事件回调参数isVisible为弹窗当前的显示状态。arrowOffset9Length否popup箭头在弹窗处的偏移。箭头在气泡上下方时数值为0表示箭头居最左侧偏移量为箭头至最左侧的距离默认居中。箭头在气泡左右侧时偏移量为箭头至最上侧的距离默认居中。如果显示在屏幕边缘气泡会自动左右偏移数值为0时箭头始终指向绑定组件。showInSubWindow9boolean否是否在子窗口显示气泡默认值为false。mask10boolean | ResourceColor否设置气泡是否有遮罩层及遮罩颜色。如果设置为false则没有遮罩层如果设置为true则设置有遮罩层并且颜色为透明色如果设置为Color则为遮罩层的颜色。messageOptions10PopupMessageOptions否设置弹窗信息文本参数。targetSpace10Length否设置popup与目标的间隙。placement10Placement否设置popup组件相对于目标的显示位置默认值为Placement.Bottom。 如果同时设置了placementOnTop和placement则以placement的设置生效。offset10Position否设置popup组件相对于placement设置的显示位置的偏移。说明 不支持设置百分比。enableArrow10boolean否设置是否显示箭头。 默认值truepopupColor11Color | string | number | Resource否提示气泡的颜色。 默认值透明色TRANSPARENT加模糊背景填充效果COMPONENT_ULTRA_THICK。autoCancel11boolean否页面有操作时是否自动关闭气泡。 默认值truewidth11Dimension否弹窗宽度。arrowPointPosition11ArrowPointPosition否气泡尖角相对于父组件显示位置气泡尖角在垂直和水平方向上有 ”Start“、”Center“、”End“三个位置点可选。以上所有位置点均位于父组件区域的范围内不会超出父组件的边界范围。
PopupMessageOptions10类型说明
名称类型必填描述textColorResourceColor否设置弹窗信息文本颜色。fontFont否设置弹窗信息字体属性。
CustomPopupOptions8类型说明
名称类型必填描述builderCustomBuilder是提示气泡内容的构造器。说明 popup为通用属性自定义popup中不支持再次弹出popup。对builder下的第一层容器组件不支持使用position属性如果使用将导致气泡不显示。builder中若使用自定义组件自定义组件的aboutToAppear和aboutToDisappear生命周期与popup弹窗的显隐无关不能使用其生命周期判断popup弹窗的显隐。placementPlacement否气泡组件优先显示的位置当前位置显示不下时会自动调整位置。 默认值Placement.BottompopupColorResourceColor否提示气泡的颜色。 API version 10默认值#4d4d4d API version 11及以后默认值透明色TRANSPARENT加模糊背景填充效果COMPONENT_ULTRA_THICKenableArrowboolean否是否显示箭头。 从API Version 9开始如果箭头所在方位侧的气泡长度不足以显示下箭头则会默认不显示箭头。比如placement设置为Left此时如果气泡高度小于箭头的宽度32vp与气泡圆角两倍48vp之和80vp则实际不会显示箭头。 默认值trueautoCancelboolean否页面有操作时是否自动关闭气泡。 默认值true说明 如果要实现点击气泡内消失需要在builder中先放一个布局组件然后再将Popup高级组件放在布局组件里面再在布局组件的onClick事件中修改的传入bindPopup的变量show: boolean值。onStateChange(event: { isVisible: boolean }) void否弹窗状态变化事件回调参数为弹窗当前的显示状态。arrowOffset9Length否popup箭头在弹窗处的偏移。箭头在气泡上下方时数值为0表示箭头居最左侧偏移量为箭头至最左侧的距离默认居中。箭头在气泡左右侧时偏移量为箭头至最上侧的距离默认居中。如果显示在屏幕边缘气泡会自动左右偏移数值为0时箭头始终指向绑定组件。showInSubWindow9boolean否是否在子窗口显示气泡默认值为false。maskColor(deprecated)ResourceColor否设置气泡遮罩层颜色。说明 从 API version 10 开始废弃建议使用mask替代。mask10boolean | ResourceColor否设置气泡是否有遮罩层及遮罩颜色。如果设置为false则没有遮罩层如果设置为true则设置有遮罩层并且颜色为透明色如果设置为Color则为遮罩层的颜色。targetSpace10Length否设置popup与目标的间隙。offset10Position否设置popup组件相对于placement设置的显示位置的偏移。说明 不支持设置百分比。width11Dimension否弹窗宽度。arrowPointPosition11ArrowPointPosition否气泡尖角相对于父组件显示位置气泡尖角在垂直和水平方向上有 ”Start“、”Center“、”End“三个位置点可选。以上所有位置点均位于父组件区域的范围内不会超出父组件的边界范围。
示例
示例1
// xxx.ets
Entry
Component
struct PopupExample {State handlePopup: boolean falseState customPopup: boolean false// popup构造器定义弹框内容Builder popupBuilder() {Row({ space: 2 }) {Image($r(app.media.image)).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.handlePopupconsole.info(confirm Button click)}},// 第二个按钮secondaryButton: {value: cancel,action: () {this.handlePopup !this.handlePopupconsole.info(cancel Button click)}},onStateChange: (e) {console.info(JSON.stringify(e.isVisible))if (!e.isVisible) {this.handlePopup false}}}).position({ x: 100, y: 50 })// CustomPopupOptions 类型设置弹框内容Button(CustomPopupOptions).onClick(() {this.customPopup !this.customPopup}).bindPopup(this.customPopup, {builder: this.popupBuilder,placement: Placement.Top,mask: {color:0x33000000},popupColor: Color.Yellow,enableArrow: true,showInSubWindow: false,onStateChange: (e) {if (!e.isVisible) {this.customPopup false}}}).position({ x: 80, y: 200 })}.width(100%).padding({ top: 5 })}
} 示例2
// xxx.ets
Entry
Component
struct PopupExample {State handlePopup: boolean falsebuild() {Column() {Button(PopupOptions).onClick(() {this.handlePopup !this.handlePopup}).bindPopup(this.handlePopup, {message: This is a popup with PopupOptions,messageOptions: {textColor: Color.Red,font: {size: 14vp,style: FontStyle.Italic,weight: FontWeight.Bolder}},placement: Placement.Bottom,enableArrow: false,targetSpace: 15vp,onStateChange: (e) {console.info(JSON.stringify(e.isVisible))if (!e.isVisible) {this.handlePopup false}}})}.margin(20)}
} 示例3
// xxx.ets
Entry
Component
struct PopupExample {State customPopup: boolean false// popup构造器定义弹框内容Builder popupBuilder() {Row() {Text(Custom Popup Message).fontSize(10)}.height(50).padding(5)}build() {Column() {// CustomPopupOptions 类型设置弹框内容Button(CustomPopupOptions).onClick(() {this.customPopup !this.customPopup}).bindPopup(this.customPopup, {builder: this.popupBuilder,targetSpace: 15vp,enableArrow: false,onStateChange: (e) {if (!e.isVisible) {this.customPopup false}}})}.margin(20)}
} 示例4
// xxx.ets
Entry
Component
struct PopupExample {State handlePopup: boolean falsebuild() {Column() {Button(PopupOptions).position({ x: 100, y: 50 }).onClick(() {this.handlePopup !this.handlePopup}).bindPopup(this.handlePopup, {width: 300,message: This is a popup with PopupOptions,arrowPointPosition: ArrowPointPosition.START,popupColor: Color.Red,autoCancel: true,})}.width(100%).height(100%)}
} 示例5
// xxx.ets
import { Popup , PopupOptions,PopupTextOptions, PopupButtonOptions, PopupIconOptions } from ohos.arkui.advanced.Popup;Entry
Component
struct PopupExample {State customPopup: boolean falseBuilderpopupBuilder() {// popup 自定义高级组件Popup({//PopupIconOptions 类型设置图标内容icon: {image: $r(app.media.icon),width:32,height:32,fillColor:Color.White,borderRadius: 16,} as PopupIconOptions,// PopupTextOptions 类型设置文字内容title: {text: This is a popup with CustomPopupOptions,fontSize: 20,fontColor: Color.Black,fontWeight: FontWeight.Normal,} as PopupTextOptions,//PopupTextOptions 类型设置文字内容message: {text: This is the message,fontSize: 15,fontColor: Color.Black,fontWeight: FontWeight.Normal,} as PopupTextOptions,showClose: false,onClose: () {console.info(close Button click)this.customPopup false},// PopupButtonOptions 类型设置按钮内容buttons: [{text: confirm,action: () {console.info(confirm button click)this.customPopup false},fontSize: 15,fontColor: Color.Black,},{text: cancel,action: () {console.info(cancel button click)this.customPopup false},fontSize: 15,fontColor: Color.Black,},] as [PopupButtonOptions?, PopupButtonOptions?],})}build() {Column() {Button(CustomPopupOptions).onClick(() {this.customPopup !this.customPopup}).position({ x: 80, y: 200 }).bindPopup(this.customPopup, {builder: this.popupBuilder,width: 300,arrowPointPosition: ArrowPointPosition.END,})}.width(100%).height(100%)}
} 示例6
// xxx.etsEntry
Component
struct PopupExample {State cursorPopup: boolean falsebuild() {Column() {TextInput({placeholder:我是提示文本,text:我是当前文本内容}).position({ x: 0, y: 350 }).onFocus(() {this.cursorPopup !this.cursorPopup}).selectionMenuHidden(true).bindPopup(this.cursorPopup, {width: 300,message: This is a pop-up window that appears with the cursor,arrowPointPosition: ArrowPointPosition.CENTER,popupColor: Color.Green,autoCancel: true,})}.width(100%).height(100%)}
} 最后有很多小伙伴不知道学习哪些鸿蒙开发技术不知道需要重点掌握哪些鸿蒙应用开发知识点而且学习时频繁踩坑最终浪费大量时间。所以有一份实用的鸿蒙Harmony NEXT资料用来跟着学习是非常有必要的。
这份鸿蒙Harmony NEXT资料包含了鸿蒙开发必掌握的核心知识要点内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等鸿蒙Harmony NEXT技术知识点。
希望这一份鸿蒙学习资料能够给大家带来帮助有需要的小伙伴自行领取限时开源先到先得~无套路领取 获取这份完整版高清学习路线请点击→纯血版全套鸿蒙HarmonyOS学习资料
鸿蒙Harmony NEXT最新学习路线 HarmonOS基础技能 HarmonOS就业必备技能 HarmonOS多媒体技术 鸿蒙NaPi组件进阶 HarmonOS高级技能 初识HarmonOS内核 实战就业级设备开发 有了路线图怎么能没有学习资料呢小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙OpenHarmony 学习手册共计1236页与鸿蒙OpenHarmony 开发入门教学视频内容包含ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。
获取以上完整版高清学习路线请点击→纯血版全套鸿蒙HarmonyOS学习资料
《鸿蒙 (OpenHarmony)开发入门教学视频》 《鸿蒙生态应用开发V2.0白皮书》 《鸿蒙 (OpenHarmony)开发基础到实战手册》
OpenHarmony北向、南向开发环境搭建 《鸿蒙开发基础》
ArkTS语言安装DevEco Studio运用你的第一个ArkTS应用ArkUI声明式UI开发.…… 《鸿蒙开发进阶》
Stage模型入门网络管理数据管理电话服务分布式应用开发通知与窗口管理多媒体技术安全技能任务管理WebGL国际化开发应用测试DFX面向未来设计鸿蒙系统移植和裁剪定制…… 《鸿蒙进阶实战》
ArkTS实践UIAbility应用网络案例…… 获取以上完整鸿蒙HarmonyOS学习资料请点击→纯血版全套鸿蒙HarmonyOS学习资料
总结
总的来说华为鸿蒙不再兼容安卓对中年程序员来说是一个挑战也是一个机会。只有积极应对变化不断学习和提升自己他们才能在这个变革的时代中立于不败之地。