Таблица действий Ioni c 4: доступ к возвращенному значению в другом компоненте - PullRequest
0 голосов
/ 30 марта 2020

У меня есть 1 служба и 1 компонент, и я хотел бы сохранить функциональность листа действий в службе, а затем передать результат компоненту. По какой-то причине я не могу получить доступ к возвращенному значению. Вот документы для actionsheetcontroller .

// photo.service
async selectImageSheet() {
  const actionSheet = await this.actionSheetController.create({
    header: "Select Image source",
    buttons: [
      {
        text: 'Load from Library',
        handler: () => {
          this.imageSource = this.camera.PictureSourceType.PHOTOLIBRARY
          return this.imageSource
        }
      },
      {
        text: 'Use Camera',
        handler: () => {
          this.imageSource = this.camera.PictureSourceType.CAMERA
          return this.imageSource
        }
      },
      {
        text: 'Cancel',
        role: 'cancel',
      }
    ]
  })
}

И в моем компоненте я делаю следующее:

//component
selectImage() {
    this.photo.selectImageSheet().then(() => console.log(this.photo.imageSource))
    console.log(this.photo.imageSource)
}

Ни один из console.logs не появляется в составная часть. Я попытался вернуть обещание без удачи.

1 Ответ

0 голосов
/ 31 марта 2020

вам нужно использовать onDismiss - отметьте do c - https://ionicframework.com/docs/api/action-sheet

const actionSheet = await actionSheetController.create({
  header: "Sheet Header",
  buttons: [ ]
});

await actionSheet.present();

let result = await actionSheet.onDidDismiss();   
console.log(results)
...