我有一个用于过滤区域的模态。 当我打开模态时,我选择区域并显示该区域的数据,因此我想将该数据发送回首页。而且我认为我做对了,因为在控制台上我看到了过滤后的数据,但是我不知道该如何在首页的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上获取此数据。但是我不知道该怎么显示。
答案 0 :(得分:0)
由于您已将数据保存在班级(this.value
)的属性中,因此只需要一个ngFor to iterate through the arrays并显示数据即可。
您可以在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
条件,则必须更改。
希望这会有所帮助。