HarmonyOS 鸿蒙Next 属性声明两种数据类型 第二种数据类型使用不了

发布于 1周前 作者 ionicwang 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 属性声明两种数据类型 第二种数据类型使用不了

export class MyDataSource<T> implements IDataSource {
private listeners: DataChangeListener[] = [];
private originDataArray: T[] = [];

public totalCount(): number {
return this.originDataArray.length;
}

public getData(index: number) {
return this.originDataArray[index];
}

public arrAndArr(data:Array<T>): void {
this.originDataArray = data
this.notifyDataReload()
}

public pushData(data: T): void {
this.originDataArray.push(data);
this.notifyDataAdd(this.originDataArray.length - 1);
}

registerDataChangeListener(listener: DataChangeListener): void {
if (this.listeners.indexOf(listener) < 0) {
console.info('add listener');
this.listeners.push(listener);
}
}

unregisterDataChangeListener(listener: DataChangeListener): void {
const pos = this.listeners.indexOf(listener);
if (pos >= 0) {
console.info('remove listener');
this.listeners.splice(pos, 1);
}
}

notifyDataReload(): void {
this.listeners.forEach(listener => {
listener.onDataReloaded();
})
}

notifyDataAdd(index: number): void {
this.listeners.forEach(listener => {
listener.onDataAdd(index);
})
}

notifyDataChange(index: number): void {
this.listeners.forEach(listener => {
listener.onDataChange(index);
})
}

notifyDataDelete(index: number): void {
this.listeners.forEach(listener => {
listener.onDataDelete(index);
})
}

notifyDataMove(from: number, to: number): void {
this.listeners.forEach(listener => {
listener.onDataMove(from, to);
})
}

更多关于HarmonyOS 鸿蒙Next 属性声明两种数据类型 第二种数据类型使用不了的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
用下类型断言as,比如:titletopmodel.menus as IDataSource

更多关于HarmonyOS 鸿蒙Next 属性声明两种数据类型 第二种数据类型使用不了的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对您提出的HarmonyOS 鸿蒙Next 属性声明中第二种数据类型使用不了的问题,这可能是由于多种原因导致的。以下是一些可能的原因及解决方法:

  1. 数据类型不匹配

    • 确保您在属性声明中使用的第二种数据类型与您的数据模型或接口定义中的数据类型一致。
  2. 属性配置错误

    • 检查您的属性配置是否正确,包括属性名称、数据类型以及是否必填等。
  3. 版本兼容性

    • 确认您的HarmonyOS版本是否支持您正在使用的数据类型。如果不支持,您可能需要更新您的系统或查找替代方案。
  4. 语法错误

    • 仔细检查您的代码,确保没有语法错误,如拼写错误、缺少分号等。
  5. 权限问题

    • 确保您的应用具有访问和使用该数据类型的权限。

如果以上方法均无法解决问题,建议您检查官方文档或示例代码,以确保您的实现方式与官方推荐的方式一致。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部