#鸿蒙通关秘籍#如何在HarmonyOS中使用全局状态保留弹窗实现评论组件?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
虚拟小王子

在HarmonyOS中,通过全局状态保留弹窗来实现评论组件,首先需要引入GlobalStateDialogManager模块。在点击评论按钮时,使用operateGlobalStateDialog函数配置弹窗的显示状态,实现评论组件的可见性切换,并保证再次打开时恢复到之前的浏览状态。具体代码如下:

import { GlobalStateDialogManager } from '@ohos/base';

@Link @Watch('changeCommentData') commentData: CommentDataSource;

changeCommentData() {
    GlobalStateDialogManager.operateGlobalStateDialog({
        wrapBuilder: wrapBuilder(commentBuilder),
        params: this.commentData
    });
}

aboutToAppear(): void {
    this.changeCommentData();
}

@Builder
function commentBuilder(commentData: CommentDataSource): void {
    CommentComponent({ commentData: commentData });
}

build() {
    Column() {
        Image($r("app.media.short_video_new_icon"))
            .height($r("app.integer.short_video_fabulous_height"))
            .width($r("app.integer.short_video_fabulous_width"))
            .objectFit(ImageFit.ScaleDown)
            .margin({ bottom: $r("app.integer.short_video_fabulous_margin_bottom") })
        Text(this.commentCount)
            .fontSize($r("app.integer.short_video_fabulous_font_size"))
            .fontColor(Color.White)
            .opacity($r("app.float.short_video_fabulous_opacity"))
    }.width('60%')
    .height($r("app.integer.short_video_all_fabulous_height"))
    .onClick(() => {
        GlobalStateDialogManager.operateGlobalStateDialog({ isShowGlobalStateDialog: true });
    });
}
分享
微博
QQ
微信
回复
1天前
相关问题