HarmonyOS 基础控件封装想法

现在假如需要对于如text、iamge、column这种基础控件作为最小单元进行封装,这种方法有什么好的例子吗,或者说是否推荐这种处理方式,以及需要特殊化处理的基础控件有什么好的例子吗?(最好是@ComponentV2)

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get
@Builder
export function SimpleObjectBuilderV2(name: string, param: Object) {
  SimpleObject()
}

@ObservedV2
class LogTrack {
  @Trace str1: string;
  str2: string;

  constructor(str1: string) {
    this.str1 = str1;
    this.str2 = 'World';
  }
}

@ComponentV2
struct SimpleObject {
  pathStack: NavPathStack = new NavPathStack()
  logTrack: LogTrack = new LogTrack('hello');

  isRender(index: number) {
    console.log(`Text ${index} is rendered`);
    return 50;
  }

  build() {
    NavDestination() {
      Column() {
        Text(this.logTrack.str1)// UINode1
          .fontSize(this.isRender(1))
          .fontWeight(FontWeight.Bold)
        Text(this.logTrack.str2)// UINode2
          .fontSize(this.isRender(2))
          .fontWeight(FontWeight.Bold)
        Button('change logTrack.str1')
          .onClick(() => {
            // 点击更新Str1和str2,str1使用了@Trace修饰,UI界面正常刷新,Str2没有修饰,UI界面不刷新
            this.logTrack.str1 = 'Bye';
            this.logTrack.str2 = '世界';
          })
      }
    }.onReady((context: NavDestinationContext) => {
      this.pathStack = context.pathStack;
    })
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
移动边缘计算的基本想法是怎样的?
3851浏览 • 1回复 待解决
HarmonyOS 应用基础架构
40浏览 • 1回复 待解决
HarmonyOS 开发基础框架
332浏览 • 1回复 待解决
HarmonyOS React Native分包基础包相关
13浏览 • 1回复 待解决
HarmonyOS CustomDialogController封装
11浏览 • 1回复 待解决
太难了,能从最基础讲起吗?
6153浏览 • 1回复 待解决
HarmonyOS 组件封装问题
1浏览 • 1回复 待解决
HarmonyOS http请求封装
16浏览 • 1回复 待解决
HarmonyOS 自定义时间控件和日期控件
348浏览 • 1回复 待解决
HarmonyOS CustomDialogController如何封装
468浏览 • 1回复 待解决
HarmonyOS 公共组件封装
396浏览 • 1回复 待解决
HarmonyOS saveButton控件问题
32浏览 • 1回复 待解决
HarmonyOS 刷新控件问题
172浏览 • 1回复 待解决
Router中的Param能传基础类型吗?
296浏览 • 1回复 待解决
HarmonyOS 筛选控件缺失
0浏览 • 1回复 待解决
HarmonyOS Tab控件咨询
83浏览 • 1回复 待解决