Thanks for the response I tried but with no success 
I think onChanges works only if pass the input in the html as an attribute and not as componentProps for the modal
in page I have
const data = [];
handleData(ids: string[]){
this.data = ids;
}
this.modalController.create({
animated: true,
backdropDismiss: false,
component: ModalPage,
cssClass: 'waiting-modal',
componentProps:{
data: this.data
},
swipeToClose: false
}).then(res => {
res.present();
});
and the modal page is
@Input() data = [];
and the html is
<ion-item *ngFor="let d of data">
{{d}}
</ion-item>
when handleData is being called I do not see the changes in the modal