HarmonyOS 封装组件工厂类时遇到的问题

在封装组件工厂类时,遇到一个问题:

@Builder装饰器A里面调用子组件CA,子组件CA用到了@ObjectLink变量c,在父组件中调用A时,传CA所需变量c,运行起来会报错,在A里报错:组件CA中缺少属性c。

请问是不是不支持这样使用。是否有其他解决办法

HarmonyOS 封装组件工厂类时遇到的问题 -鸿蒙开发者社区

HarmonyOS
2025-01-09 14:29:02
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

请参考以下代码:

import { BuilderParams } from '../model'
import { TabModuleClass } from '../model/TabModel'
import { ObservedArray } from '../utils'

@Component
struct HomeComA {
  @BuilderParam data: ObservedArray<TabModuleClass>
  build() {
    Column() {
      Grid() {
        ForEach(this.data, (item: TabModuleClass) => {
          GridItem() {
            itemView({item:item})
          }
          .padding(6)
          .backgroundColor('#ffffff')
          .border({ width: 1, color: "#DAEBFF" })
          .borderRadius(12)
        }, (item: TabModuleClass) => item.id + '')
      }
      .height(320)
      .padding(4)
      .columnsTemplate('repeat(auto-fit, 70)')
      .columnsGap(10)
      .rowsGap(10)
    }
    .padding({ left: 16, right: 16 })
    .width('100%')
    .height('auto')
  }
}

@Component
struct itemView {
  @ObjectLink item:TabModuleClass
  build() {
    Column(){
      Column() {
        Image(this.item.iconUrl).width(42).height(42)
        Text(this.item.mainName)
          .fontSize(14)
          .textOverflow({ overflow: TextOverflow.Ellipsis })
          .maxLines(1)
          .margin({ top: 6 })
      }.onClick(()=>{
        this.item.mainName = "dd"
      })
    }
  }
}

@Builder
export function comaBuilder(data: BuilderParams) {
  HomeComA({data:data.data})
}
分享
微博
QQ
微信
回复
2025-01-09 16:53:04
相关问题
HarmonyOS 组件封装问题
343浏览 • 1回复 待解决
preferences工具封装
1603浏览 • 1回复 待解决
HarmonyOS 如何封装页面
843浏览 • 1回复 待解决
flutter混合遇到问题
793浏览 • 1回复 待解决
求助:Ubuntu编译w800遇到问题
6195浏览 • 1回复 待解决
HarmonyOS ArrayList 遇到问题
329浏览 • 1回复 待解决
HarmonyOS 是否有封装数据库工具
406浏览 • 1回复 待解决
应用导航设计遇到问题
692浏览 • 1回复 待解决
HarmonyOS Span封装问题
136浏览 • 1回复 待解决
HarmonyOS 如何书写工厂方法?
274浏览 • 1回复 待解决
HarmonyOS bindPopup遇到问题
315浏览 • 1回复 待解决
HarmonyOS ArrayList 遇到问题
380浏览 • 0回复 待解决
HarmonyOS 使用MMKV库遇到Warning
860浏览 • 1回复 待解决
DevEco补全问题,有遇到吗?
6615浏览 • 1回复 待解决
如何封装一个通用commonEvent工具
2176浏览 • 1回复 待解决
HarmonyOS 滑动组件问题
379浏览 • 1回复 待解决