HarmonyOS 基础控件封装想法

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

HarmonyOS
2024-12-24 17:36:47
浏览
收藏 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
微信
回复
2024-12-24 19:07:46
相关问题
移动边缘计算的基本想法是怎样的?
4091浏览 • 1回复 待解决
HarmonyOS 开发基础框架
526浏览 • 1回复 待解决
HarmonyOS 应用基础架构
237浏览 • 1回复 待解决
HarmonyOS React Native分包基础包相关
352浏览 • 1回复 待解决
HarmonyOS 基础类型Length的计算
63浏览 • 1回复 待解决
HarmonyOS CustomDialogController封装
236浏览 • 1回复 待解决
HarmonyOS UI布局子控件超出父控件宽度
221浏览 • 1回复 待解决
HarmonyOS 自定义时间控件和日期控件
619浏览 • 1回复 待解决
HarmonyOS CustomDialogController如何封装
642浏览 • 1回复 待解决
HarmonyOS 公共组件封装
657浏览 • 1回复 待解决
HarmonyOS 短信校验控件
283浏览 • 1回复 待解决
HarmonyOS 获取控件坐标
305浏览 • 1回复 待解决
HarmonyOS 筛选控件缺失
202浏览 • 1回复 待解决
HarmonyOS Tab控件咨询
275浏览 • 1回复 待解决
HarmonyOS select控件高度
213浏览 • 1回复 待解决
HarmonyOS 组件封装问题
209浏览 • 1回复 待解决
HarmonyOS http请求封装
286浏览 • 1回复 待解决
HarmonyOS 包含5个tab页的基础框架
165浏览 • 1回复 待解决