HarmonyOS ArkTS支持子组件接受泛型T吗

父组件:

import son from './son'
interface IData {
  key: string
}
@Entry
@Component
struct p {
  build() {
    Column() {
      son<IData>({
        data: ['XXX']
      })
    }
  }
}

子组件:

@Component
export default struct son<T> {
  @Prop data: T[]
  build() {
    Column() {
      Text(JSON.stringify(this.data))
    }
  }
}

预览后,报错信息如下:

[Compile Result] ArkTS:ERROR File: /Users/xxx/Desktop/xdf-project/zs_teacher_harmony/features/XDFMine/src/main/ets/components/listPage/son.ets:4:15
[Compile Result]  Cannot find name 'T'.
[Compile Result] ArkTS:ERROR File: /Users/xxx/Desktop/xdf-project/zs_teacher_harmony/features/XDFMine/src/main/ets/components/listPage/p.ets:15:11
[Compile Result]  Expected 0 type arguments, but got 1.
[Compile Result] Compile error occurred. Fix it based on the above message.

请问这种写法是不支持吗?如果是,有什么办法可以得到同等效果的实现吗?

HarmonyOS
2024-12-27 14:43:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

HarmonyOS中strcut装饰的自定义组件不支持泛型,建议使用联合类型,实现自定义组件类似泛型的功能可参考官网对应链接内容:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-more-cases-V5#struct%E6%94%AF%E6%8C%81%E8%81%94%E5%90%88%E7%B1%BB%E5%9E%8B%E7%9A%84%E6%96%B9%E6%A1%88

分享
微博
QQ
微信
回复
2024-12-27 16:18:34
相关问题
HarmonyOS ArkTS问题
466浏览 • 1回复 待解决
HarmonyOS ArkTS类型判断
354浏览 • 1回复 待解决
HarmonyOS 组件如何添加
616浏览 • 1回复 待解决
HarmonyOS ArkTS中如何实现构造函数
1012浏览 • 1回复 待解决
如何在ArkTS中定义和使用?
1066浏览 • 1回复 待解决
HarmonyOS 类型判断
510浏览 • 1回复 待解决
参数转换为Object编译失败
1023浏览 • 1回复 待解决
HarmonyOS 构造方法在ets中的实现
450浏览 • 1回复 待解决
HarmonyOS类的属性如何初始化?
862浏览 • 1回复 待解决
HarmonyOS huks支持线程调用
326浏览 • 1回复 待解决
ArkTS语言支持语音识别?
1397浏览 • 1回复 待解决
arkTS无法创建窗口有了解的
2495浏览 • 0回复 待解决
HarmonyOS ArkTS支持重写hashCode值
322浏览 • 1回复 待解决
组件的事件可以传到父组件
1083浏览 • 1回复 待解决