页面基类或者页面钩子函数
针对页面做统一处理,比如统一统计页面曝光时间。目前能想到的做法是抽离BasePage,注入自定义组件。
@Component
export struct BasePage {
@BuilderParam builderPage?: () => void;
build() {
this.builderPage?.()
}
}
但是在使用时有限制,@Builder构建组件不能使用this。
@Entry
@Component
struct Index {
@State message: string = '首页';
@Builder renderBlank() {
Column(){
Tabs({ barPosition: BarPosition.End}) {
TabContent() {
HomeComponent()
}.tabBar(this.tabBuilder($r('app.media.startIcon'), '首页'))
}
.width('100%')
}.width('100%')
}
build() {
Stack(){
BasePage({
builderPage: this.renderBlank
})
}
}
@Builder tabBuilder(icon: string | Resource, iconText: string) {
Column() {
Image(icon)
.width(30)
.height(30)
.margin({ top: 5})
Text(iconText)
.fontSize(12)
.margin({ top: 5, bottom: 5})
}.width('100%')
}
}
组件之间是无法继承的, 想咨询页面基类的实现推荐。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 如何封装基类页面
735浏览 • 1回复 待解决
HarmonyOS 页面基类怎么开发
314浏览 • 1回复 待解决
HarmonyOS能够提供页面的基类吗?
627浏览 • 1回复 待解决
HarmonyOS 页面基类,有多个页面的情况下,怎么设计一个基类来继承呢?
604浏览 • 1回复 待解决
HarmonyOS 页面怎么继承基类,有些重复的弹窗想抽到基类中
659浏览 • 1回复 待解决
HarmonyOS如何创建页面的基类,以便对同一类页面进行统一的生命周期处理?
576浏览 • 1回复 待解决
HarmonyOS 如何将可变参数传给子函数?
177浏览 • 1回复 待解决
HarmonyOS UI组件的基类是什么?
589浏览 • 1回复 待解决
#鸿蒙通关秘籍#为啥Ability基类不建议直接继承?
285浏览 • 1回复 待解决
HarmonyOS @Concurrent装饰的任务不能分解为子函数并调用么
62浏览 • 1回复 待解决
HarmonyOS @Entry页面页面如何实现全透明或者半透明效果
186浏览 • 1回复 待解决
HarmonyOS arkts能否在页面加载时执行指定函数,或者不需要借助onclick自动执行的方法
242浏览 • 1回复 待解决
HarmonyOS 多NavDestionation页面同时退栈时,各页面onWillDisappear回调函数时序关系
123浏览 • 1回复 待解决
通过Navigation触发的页面跳转,目标页面的生命周期函数不执行
185浏览 • 1回复 待解决
HarmonyOS 多个Entry类的Component组件或是多个普通的Component组件基类问题
273浏览 • 1回复 待解决
HarmonyOS 如何实现一个抽象类的Base页面,所有的APP页面都是继承这个页面?
744浏览 • 1回复 待解决
工具类里 怎么跳转或打开页面呢?
4152浏览 • 1回复 待解决
HarmonyOS 进入页面拍照,页面显示有点变型,横排或竖屏有拉伸或者压缩,页面有很多红点
65浏览 • 1回复 待解决
Native调用ArkTS侧类函数
1356浏览 • 1回复 待解决
HarmonyOS 页面跳转时,生命周期函数没有触发
182浏览 • 1回复 待解决
HarmonyOS输入密码页面或指纹页面是否支持半屏或者自定义尺寸
821浏览 • 1回复 待解决
HarmonyOS 组件里面的onPageShow钩子方法不触发
309浏览 • 1回复 待解决
HarmonyOS page页面是否有设置父类的功能
682浏览 • 1回复 待解决
HarmonyOS 如何关闭指定页面或者跳转已存在的页面时更新传入的参数
281浏览 • 1回复 待解决
ArkWeb:前端页面调用应用侧函数是同步还是异步?
603浏览 • 1回复 待解决
可以在外层重新定义个组件引入进来,demo参考: