HarmonyOS 鸿蒙Next Cannot read property SharedData of undefined
HarmonyOS 鸿蒙Next Cannot read property SharedData of undefined
import { common } from ‘@kit.AbilityKit’;
import { systemShare } from ‘@kit.ShareKit’;
import { uniformTypeDescriptor as utd } from ‘@kit.ArkData’;
@Entry
@Component
struct ShareStr {
build() {
Column() {
Button(“分享”)
.onClick(() => {
// 构造ShareData,需配置一条有效数据信息
let data: systemShare.SharedData = new systemShare.SharedData({
//设置传输文件的类型(更多类型查看上方表格)
utd: utd.UniformDataType.PLAIN_TEXT,
//设置自定义传输文本
content: ‘Hello HarmonyOS’
});
// 额外再添加一条记录
data.addRecord({
utd: utd.UniformDataType.PNG,
// 通过文件所在目录进行传输
uri: ‘file://…/test.png’
});
// 构建ShareController
let controller: systemShare.ShareController = new systemShare.ShareController(data);
// 获取UIAbility上下文对象
let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
// 注册分享面板关闭监听
controller.on(‘dismiss’, () => {
console.info(‘Share panel closed’);
// 分享结束,可处理其他业务。
});
// 进行分享面板显示
controller.show(context, {
// DETAIL为详细预览图模式
previewMode: systemShare.SharePreviewMode.DETAIL,
// SINGLE为单选模式,传入一个记录则单传,多个则n选1;BATCH为批量模式
selectionMode: systemShare.SelectionMode.SINGLE
});
})
}
.height(‘100%’)
.width(‘100%’)
}
}
Error message:Cannot read property SharedData of undefined
SourceCode:
let data: systemShare.SharedData = new systemShare.SharedData({
^
Stacktrace:
at anonymous (entry/src/main/ets/pages/api/ShareStr.ets:14:50)
4 回复
我这边运行的没有报错,是要api11或者以上
systemShare(分享)-ArkTS API-Share Kit(分享服务)-应用服务 | 华为开发者联盟 (huawei.com)
我的一直报错,跟后面的报错信息一模一样
啥意思?为啥不让用
在HarmonyOS(鸿蒙)开发中遇到“Cannot read property ‘SharedData’ of undefined”这类错误,通常是因为你尝试访问的对象尚未被正确初始化或定义。请检查以下几点:
- 确保你访问的
SharedData
对象或属性已经在你尝试访问它的地方被定义并初始化。 - 如果
SharedData
是某个组件或服务的属性,请确认该组件或服务已经正确加载并初始化。 - 检查代码逻辑,确保在访问
SharedData
之前,相关的依赖项或数据已经准备就绪。
如果问题依旧没法解决请加我微信,我的微信是itying888。