PopoverController Ionic 4?
PopoverController Ionic 4?
PopoverController 在 Ionic 4 中如何工作?
当前文档不正确并且没有重大更改?
const popover = this.popoverCtrl.create({
component: 'PopupMenuComponent',
ev: event
});
popover.present();
我创建了一个组件,当我尝试展示它时,我收到以下错误...
[ts] Property 'present' does not exist on type 'Promise<HTMLIonPopoverElement>'. Did you forget to use 'await'?
谢谢。
在你的例子中,你没有等待它。从 Alpha-7 开始,create
方法 returns 是一个承诺。您可以找到最新的文档 here。看看这个例子:
import { Component } from '@angular/core';
import { PopoverController } from '@ionic/angular';
@Component({
template: `
<ion-list no-margin>
<ion-item (click)="onDismiss()">Dismiss</ion-item>
</ion-list>
`
})
export class PopupMenuComponentPopover {
constructor(private popoverCtrl: PopoverController) {
}
async onDismiss() {
try {
await this.popoverCtrl.dismiss();
} catch (e) {
//click more than one time popover throws error, so ignore...
}
}
}
打开方式如下:
async openPopover(args) {
const popover = await this.popoverController.create({
component: PopupMenuComponentPopover,
ev: args,
translucent: false
});
return await popover.present();
}
编辑:你可以调用它:
@NgModule({
...
declarations: [DashboardWebsiteMorePopover],
entryComponents: [DashboardWebsiteMorePopover],
...
})
export class PopupMenuComponentModule {}
PopoverController 在 Ionic 4 中如何工作?
当前文档不正确并且没有重大更改?
const popover = this.popoverCtrl.create({
component: 'PopupMenuComponent',
ev: event
});
popover.present();
我创建了一个组件,当我尝试展示它时,我收到以下错误...
[ts] Property 'present' does not exist on type 'Promise<HTMLIonPopoverElement>'. Did you forget to use 'await'?
谢谢。
在你的例子中,你没有等待它。从 Alpha-7 开始,create
方法 returns 是一个承诺。您可以找到最新的文档 here。看看这个例子:
import { Component } from '@angular/core';
import { PopoverController } from '@ionic/angular';
@Component({
template: `
<ion-list no-margin>
<ion-item (click)="onDismiss()">Dismiss</ion-item>
</ion-list>
`
})
export class PopupMenuComponentPopover {
constructor(private popoverCtrl: PopoverController) {
}
async onDismiss() {
try {
await this.popoverCtrl.dismiss();
} catch (e) {
//click more than one time popover throws error, so ignore...
}
}
}
打开方式如下:
async openPopover(args) {
const popover = await this.popoverController.create({
component: PopupMenuComponentPopover,
ev: args,
translucent: false
});
return await popover.present();
}
编辑:你可以调用它:
@NgModule({
...
declarations: [DashboardWebsiteMorePopover],
entryComponents: [DashboardWebsiteMorePopover],
...
})
export class PopupMenuComponentModule {}