HarmonyOS 希望可以推荐一个弹窗组件,可以做到弹窗位置直接可以设置 锚定在某个组件之下

推荐一个弹窗组件,可以做到弹窗位置直接可以设置不确定全局自定义弹窗是否符合?

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

目前来看,可以使用bindPopup来实现,参考链接: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-popup-V5

参考demo:

@Entry
@Component
struct Index {
@State message: string = 'Hello World';
@State handlePopup: boolean = false
build() {
Column() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
.height('200vp')
.alignItems(HorizontalAlign.Start)
.justifyContent(FlexAlign.Start)
.backgroundColor(Color.Orange)
.onClick(() => {
this.handlePopup = !this.handlePopup
})
.bindPopup(this.handlePopup, { // PopupOptions类型气泡的内容
message: 'This is a popup with PopupOptions This is a popup with PopupOptions' +
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' +
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' +
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' +
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
messageOptions: { // 气泡的文本样式
textColor: Color.Red,
font: {
size: '14vp',
style: FontStyle.Italic,
weight: FontWeight.Bolder
}
},
placement: Placement.Bottom,
enableArrow: false,
width: '100%',
radius: 0,
onStateChange: (e) => {
console.info(JSON.stringify(e.isVisible))
if (!e.isVisible) {
this.handlePopup = false
}
}
})
}
.height('100%')
}
}

目前来看 没有比较好的弹窗组件去实现这个功能,建议还是使用bindPopup.

分享
微博
QQ
微信
回复
2天前
相关问题
Harmony弹窗可以精确控制位置吗?
1880浏览 • 1回复 待解决
是否可以实现滚动锚定的效果
828浏览 • 1回复 待解决
HarmonyOS APP可以直接设置启动图吗?
736浏览 • 1回复 待解决
ArkTS如何实现一个底部弹窗
800浏览 • 1回复 待解决