【发布时间】:2020-01-03 10:05:20
【问题描述】:
在我的应用程序中,如果我从图库中选择一张图片,我必须被重定向到带有该图片的模式窗口。问题是图像从服务下载到组件,但没有显示,而是出现错误消息。
我向图库发送请求的组件:
const imageAsset = await this.gallery.selectPhoto();
this.rediresct("loading");
const options: ModalDialogOptions = {
context: imageAsset,
viewContainerRef: this.vref,
fullscreen: false
};
setTimeout(async () => {
const response = await this.modal.showModal(
ConfirmImageComponent,
options
);
if (response == "success") {
}
});
}
服务:
source: any;
constructor() {}
async selectPhoto(): Promise<Array<any>> {
let context = imagepicker.create({
mode: "single"
});
await context.authorize();
let imageAsset = [];
const selection = await context.present();
imageAsset = selection;
return imageAsset;
}
}
从服务中下载图片并显示的组件:
obraz: ImageAsset;
constructor(
private gallery: GalleryService,
private params: ModalDialogParams
) {
this.image = params.context;
var pict = new Image();
pict.src = this.image;
console.log(pict.src);
}
ngOnInit() {}
}
【问题讨论】:
-
selection必须是数组,试试imageAsset = selection[0] -
@Manoj 它可以工作,但是在这个构造中
imageAsset = selection[0]我看到一个错误:TS2740:类型'ImageAsset'缺少来自类型'any[]'的以下属性:长度,流行、push、concat 等 25 个。 我怎样才能摆脱它?在constructor(){}上面我添加了imageAsset = []但错误仍然存在。 -
改变返回类型,在数组类型中只放any而不是any。
-
当我将返回类型更改为:` async selectPhoto(): Promise
>` 到 ` async selectPhoto(): Promise ` 应用程序不起作用并返回相同的错误。 -
请分享一个游乐场样本。
标签: android typescript nativescript