页面基类或者页面钩子函数
针对页面做统一处理,比如统一统计页面曝光时间。目前能想到的做法是抽离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 如何封装基类页面
1485浏览 • 1回复 待解决
HarmonyOS 页面基类怎么开发
1093浏览 • 1回复 待解决
HarmonyOS能够提供页面的基类吗?
1240浏览 • 1回复 待解决
HarmonyOS 页面怎么继承基类,有些重复的弹窗想抽到基类中
1334浏览 • 1回复 待解决
HarmonyOS 页面基类,有多个页面的情况下,怎么设计一个基类来继承呢?
1540浏览 • 1回复 待解决
HarmonyOS如何创建页面的基类,以便对同一类页面进行统一的生命周期处理?
1267浏览 • 1回复 待解决
HarmonyOS 如何将可变参数传给子函数?
1063浏览 • 1回复 待解决
HarmonyOS UI组件的基类是什么?
1096浏览 • 1回复 待解决
#鸿蒙通关秘籍#为啥Ability基类不建议直接继承?
891浏览 • 1回复 待解决
HarmonyOS @Concurrent装饰的任务不能分解为子函数并调用么
531浏览 • 1回复 待解决
HarmonyOS 多个Entry类的Component组件或是多个普通的Component组件基类问题
998浏览 • 1回复 待解决
HarmonyOS @Entry页面页面如何实现全透明或者半透明效果
860浏览 • 1回复 待解决
HarmonyOS arkts能否在页面加载时执行指定函数,或者不需要借助onclick自动执行的方法
1051浏览 • 1回复 待解决
HarmonyOS 如何将C++类作为基类提供给 ArkTS,并在 ArkTS中继承该类
1297浏览 • 1回复 待解决
通过Navigation触发的页面跳转,目标页面的生命周期函数不执行
1152浏览 • 1回复 待解决
HarmonyOS 多NavDestionation页面同时退栈时,各页面onWillDisappear回调函数时序关系
655浏览 • 1回复 待解决
HarmonyOS 多个自定义UI组件如何继成自公共的基类
1067浏览 • 1回复 待解决
HarmonyOS ArkUI的布局回调如何做到自定义、基类
1512浏览 • 1回复 待解决
HarmonyOS 如何实现一个抽象类的Base页面,所有的APP页面都是继承这个页面?
1541浏览 • 1回复 待解决
工具类里 怎么跳转或打开页面呢?
4979浏览 • 1回复 待解决
Native调用ArkTS侧类函数
2174浏览 • 1回复 待解决
HarmonyOS 进入页面拍照,页面显示有点变型,横排或竖屏有拉伸或者压缩,页面有很多红点
765浏览 • 1回复 待解决
HarmonyOS输入密码页面或指纹页面是否支持半屏或者自定义尺寸
1377浏览 • 1回复 待解决
HarmonyOS 页面跳转时,生命周期函数没有触发
1341浏览 • 1回复 待解决
HarmonyOS page页面是否有设置父类的功能
1409浏览 • 1回复 待解决
可以在外层重新定义个组件引入进来,demo参考: