Ionic framework Ionic 4-从Modal传回数据

Ionic framework Ionic 4-从Modal传回数据,ionic-framework,ionic4,Ionic Framework,Ionic4,我试图创建一个模态窗口,向它传递一个对象数组,让用户从该数组中选择一个对象,然后让我的模态将他们选择的对象传递回 我曾尝试使用Ionic 2的modalName.ondidDisclesh方法(数据=>…),但显然Ionic 4将“ondidDisclesh”更改为不接受任何传递回它的值 因此,我不知道如何将数据从模式窗口发送回调用它的页面。几天前,我遇到了同样的问题,下面是我的解决方案: 我猜,你已经有了一个包含实际模态的组件。名称UserModalComponent 您的UserModalC

我试图创建一个模态窗口,向它传递一个对象数组,让用户从该数组中选择一个对象,然后让我的模态将他们选择的对象传递回

我曾尝试使用Ionic 2的modalName.ondidDisclesh方法(数据=>…),但显然Ionic 4将“ondidDisclesh”更改为不接受任何传递回它的值


因此,我不知道如何将数据从模式窗口发送回调用它的页面。

几天前,我遇到了同样的问题,下面是我的解决方案:

我猜,你已经有了一个包含实际模态的组件。名称
UserModalComponent

您的
UserModalComponent
应注入ModalController:

构造函数(私有modalController:modalController){}

下一步是将所选用户传回:

selectUser(user: User):void {
  this.modalController.dismiss(user);
}
在要调用模态并返回用户的组件中,还必须如上所述注入
ModalController
,此外,还需要以下方法:

 async openUserModal() {
    const modal = await this.modalCtrl.create({
      component: UserModalComponent,
      componentProps: { users: this.users },
    });

    modal.onDidDismiss()
      .then((data) => {
        const user = data['data']; // Here's your selected user!
    });

    return await modal.present();
  }

我希望这有帮助!如果有什么不清楚的地方,就问吧

下面的代码适用于我

async openUserModal() {
    const modal = await this.modalCtrl.create({
      component: UserModalComponent,
      componentProps: { users: this.users },
    });

    modal.onDidDismiss()
      .then((data) => {
        const user = data['data']; // Here's your selected user!
    });

    return await modal.present();
  }

这是在Ionic 4中从modal获取数据的方式:

        contactsModal.onDidDismiss().then(data=>{
        console.log('data came back from modal');
        console.log(data);
    })

爱奥尼亚4的文档需要做更多的工作,然后才能开始处理它。我试了一个星期,发现警报示例的初始化和使用非常不直观,于是放弃了。检查这个爱奥尼亚4模态图坦卡蒙你是圣人。这正是我所需要的-我没有想到使用“.then()”来处理返回的数据。非常感谢。你知道如何区分组件是在什么时候打开的吗?我的模式控制器或路由器导航,以便根据它关闭组件?我只会将不同的组件道具传递给模式。你的方式正在工作!但是在文档中,它是这样写的
const modal=wait modalController.create({…});const{data}=await modal.ondiddisease();控制台日志(数据)
但当我使用相同的代码时,它不起作用,为什么?