HarmonyOS ArkTS类型问题:怎么在子组件中获取父组件的某个数据类型

子组件如何获取父组件的某个数据类型?详细请看代码,解决最后any处的语法错误。

父组件类型定义:

interface ICardItemData {
  keyPrimary: number
}

父组件mock接口:

mockRequest (limitCount: number, reqPageNum: number): Promise<IDataSource<ICardItemData>> {
  // mock 得到的分页数据(只包含某一页)
  const setTotal = 31  // 设置列表总记录数
  const dbList: ICardItemData[] = []  // 通过循环向数组插入测试数据
  for(let i = 0; i < setTotal; i++) {
  dbList.push({ "keyPrimary": i })
}
const start = limitCount * (reqPageNum - 1), end = limitCount * reqPageNum;
const mockReturnObj: IDataSource<ICardItemData> = {
  data: dbList.slice(start, end),
  success: true,
  total: setTotal
}
promptAction.showToast({ message: '调用了父组件的请求接口~~~', bottom: '50%' });
return new Promise(resolve => resolve(mockReturnObj))
};

父组件使用通用组件:

ListTemplate({ fetchList: this.mockRequest }) 

子组件数据类型定义:

export interface IBaseData<T> {
  data: T[] | undefined;
  success?: boolean;
  total?: number;
}
export interface IDataSource<T> extends IBaseData<T>, Record<string, number | string | boolean | object | undefined> {}

子组件声明传入的方法:

fetchList?: (limitCount: number, reqPageNum: number) => Promise<IDataSource<any>> 

这里的any是不符合ArkTS语法的,预期是可以使用到父组件定义的ICardItemData类型,因为是通用组件,就不考虑通过import的方式引入,请问有什么解决方法吗?

HarmonyOS
2024-12-27 13:55:28
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

可以将any替换成ESObject类型。

分享
微博
QQ
微信
回复
2024-12-27 16:44:34
相关问题
arkts不支持bigint数据类型
2595浏览 • 1回复 待解决
HarmonyOS 数据类型-PurchaseOrderPayload
369浏览 • 1回复 待解决
mysql数据类型使用int类型和string类型
3036浏览 • 1回复 待解决
MongoDB支持哪些数据类型
3896浏览 • 1回复 待解决
HarmonyOS ArkTS不支持any数据类型做返回
434浏览 • 1回复 待解决
Redis数据类型列表list是什么?
3700浏览 • 1回复 待解决
组件溢出容器问题
1664浏览 • 1回复 待解决