Как получить данные с модала? - PullRequest
0 голосов
/ 03 октября 2018

У меня есть модал с выбором для фильтрации регионов.Открывая модальное пространство, я выбираю регион и показываю данные для этого региона, поэтому хочу отправить эти данные обратно на первую страницу.И я думаю, что все сделал правильно, потому что на КОНСОЛЕ я вижу отфильтрованные данные, но я не знаю, как их отобразить в своем HTML на первой странице.Кто-нибудь может мне с этим помочь?Я не знаю, что именно мне нужно делать.

MODAL.TS

 export class FiltrosModalPage implements OnInit {
   public selectedFilter: string = 'regiao.id';
   regiao: any;
   regioes: Regiao[];
   myParam: string;
   produtos: Produto[];
   produtossubcategoria: Produtosubcategoria[];


   constructor(
     private viewController: ViewController,
     public navCtrl: NavController,
     public db: DatabaseProvider,
     public navParams: NavParams,
     public viewCtrl: ViewController
   ) {
     console.log(navParams.get('val'));
     this.regioes = navParams.get('val');
   }


   selecionaregiao(id) {
     this.db.getProdutosregiao(id)
       .then(data => this.produtos = data)
       .catch(error => console.log('Something want wrong!'));
       console.log('passou em tudo')
   }

   dismiss() {
     let data = this.produtos;
     this.viewCtrl.dismiss(data);
   }
}

HOME.TS

openFiltrosModal() {
  this.openModal('FiltrosModalPage');
}

openModal(pageName) {

  let filtrosModal = this.modalCtrl.create(pageName, {'val': this.regioes}, { cssClass: 'inset-modal' });
  filtrosModal.onDidDismiss(data => {
    console.log('MODAL DATA', data);
    this.value = data;
  });
  filtrosModal.present();
}

опции фильтра моя консоль

Как и на изображении консоли, я получаю эти данные на первой странице HTML.Но я не знаю, как отобразить тогда.

1 Ответ

0 голосов
/ 03 октября 2018

Поскольку вы сохранили данные в свойстве вашего класса (this.value), вам просто нужно ngFor, чтобы перебирать массивы и отображать данные.

Вы можете сделать какэто в вашем HTML

<!-- Here you'll use the ngIf to just show the list itens if there's something on value -->
<ion-list *ngIf="value">
  <!-- ngFor'll iterate your array and render a new element for every item in your array -->
  <ion-item *ngFor="let item of value">
    <!-- then you can access an property of your object in that array position -->
    {{item.nom_regiao}}
  </ion-item>
</ion-list>

Убедитесь, что у вас value нет никакого значения до фильтрации в модальном режиме, если оно инициализируется любым значением, условие ngIf должно быть изменено.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...