介绍
评论组件在目前市面上的短视频app中是一种很常见的场景,本案例使用全局状态保留能力弹窗来实现评论组件。点击评论按钮弹出评论组件,点击空白处隐藏该组件,再次点击评论按钮则会恢复上一次浏览的组件状态。
效果图预览
使用说明
1.点击评论按钮打开评论组件。
2.上下滑动可以浏览评论。
3.点击空白处或者关闭按钮可以关闭评论组件。
4.再次点击评论按钮则恢复上一次浏览评论位置。
实现思路
1.使用GlobalStateDialogManager来操作全局状态保留能力弹窗的布局内容以及显隐。 首先导入GlobalStateDialogManager,如下:
import { GlobalStateDialogManager } from '@ohos/base';
2.初始化及评论内容更改时,使用operateGlobalStateDialog函数配置弹窗内容布局,如下:
@Link @Watch('changeCommentData') commentData: CommentDataSource; // 当评论内容更改时刷新全局弹窗
changeCommentData() {
GlobalStateDialogManager.operateGlobalStateDialog({
wrapBuilder: wrapBuilder(commentBuilder),
params: this.commentData
});
}
aboutToAppear(): void {
this.changeCommentData();
}