从Ionic4 Modal [object Object]返回数据

问题描述 投票:0回答:2

我正在尝试在主页内创建一个模态窗口,当用户从该无线电组中选择一个值时,将其传递给一个无线电组,然后让我的模态再次将他们选择的对象传回主页。

无线电组页面和HTML

  export class PopoverstationsPage implements OnInit {

      cities :any

      constructor(public nav : NavController,public nav : NavController,public modalController: ModalController ,public router : Route) { }

      ngOnInit() {
        console.log(this.cities)
      }

      onRadioChange(cities: Tab1Page):void {
    this.modalController.dismiss(cities);

      console.log(this.cities)
  }

    }

HTML

<ion-list>
        <ion-radio-group (ionChange)="onRadioChange()" [(ngModel)]="cities">
            <ion-list-header>
                <ion-label>Name</ion-label>
            </ion-list-header>

            <ion-item>
                <ion-label>ميناء خصب</ion-label>
                <ion-radio slot="start" value="26.2105,56.244" ></ion-radio>
            </ion-item>

            <ion-item>
                <ion-label>مطار خصب</ion-label>
                <ion-radio slot="start" value="26.161722,56.23672"></ion-radio>
            </ion-item>
            <ion-item>
                <ion-label>دبا</ion-label>
                <ion-radio slot="start" value="25.615627,56.247322"></ion-radio>
            </ion-item>
            <ion-item>
                <ion-label>البريمي</ion-label>
                <ion-radio slot="start" value="24.233913,55.916176"></ion-radio>
            </ion-item>

        </ion-radio-group>
  </ion-list>

主页接收上面的价值表单然后在测试功能天气使用它

     export class HomePage implements OnInit {

              cities :any

              constructor(public nav : NavController,public modalController: ModalController) { }

              ngOnInit() {
                console.log(this.cities)
              }

            async openUserModal() {
           const modal = await this.modalController.create({
         component: PopoverstationsPage,
        componentProps: { cities: this.cities },
      });

      modal.onDidDismiss()
        .then((data) => {
          const cities= data
          console.log(cities)
      });

      return await modal.present();
    }


async test (){

  this.https.get('weather/'+this.cities+'.json')
  .subscribe(data => {

    this.weather = data

  })


}

 }

当数据ara返回l在[object Object]得到onDidDismiss! anyidea拜托?

see console

angular modalviewcontroller ionic4 radio-group
2个回答
0
投票

要查看实际数据,您需要执行如下的JSON.stringify,

modal.onDidDismiss()
        .then((data) => {
          const cities= data;
          console.log(JSON.stringify(cities));
});

0
投票

最后我修好了

  modal.onDidDismiss().then((r) => {
    console.log("the result:", r , 'test'+ this.testy);

    this.testy = r.data.result
});
© www.soinside.com 2019 - 2024. All rights reserved.