Данные, передаваемые ionChange с помощью ion-select, не передаются в качестве входных данных в API - Ionic - PullRequest
0 голосов
/ 27 октября 2018

Здравствуйте, ребята, я работаю над этим приложением доставки еды, где пользователь вводит Круг доставки в компоненте выбора иона, где он / она остается, а затем я запускаю другой API, беря значение круга доставки (например, 1, 2,3 ... и т. Д.) В другом компоненте выбора ионов, который является областью или местностью, в которой он / она находится, и заполняет выбор ионов на основе выбранного круга доставки.

Здесь я могу пройтистоимость доставки круга и я утешил значение и его штраф.Но когда я пытаюсь передать идентификатор как данные следующему API, он становится пустым ...

Вот мой HTML-файл

<ion-content padding class="bgpage">
<div class = "col-md-6">
<ion-item>
  <ion-label>Delivery Circle</ion-label>
  <ion-select [(ngModel)]="data" (ionChange) = "delAreaCircle(del_cir)">
    <ion-option  *ngFor = "let data of circleResponse" [value]="data['del_c_id']">{{data['del_c_name']}}</ion-option>
  </ion-select>
</ion-item>
</div>
<ion-item>
  <ion-label>Area / Near by Locality</ion-label>
  <ion-select [(ngModel)]="area_loc">
    <ion-option value="1">St. cruz</ion-option>
  </ion-select>
</ion-item>
</ion-content>

Это моя функция .ts file.

delCircle(){
let circleUrl = 'http://url/folder/filename.php';
let circleData: Observable<any> = this.http.get(circleUrl);
circleData.subscribe( data => { this.circleResponse = data.json();
this.circleResponse = this.circleResponse; 
console.log(this.circleResponse);

});
}

delAreaCircle(id){
let headers = new Headers();
headers.append('Content-Type', 'application/json');

console.log("Inside Location Cordinates",id)
this.del_id = id;
let options = new RequestOptions({ headers: headers });
let circlePassData = {"del_c_id":this.del_id}
console.log("dataPassed",this.circlePassData);
this.http.post('http://url/folder/filename.php', circlePassData , options)
.subscribe(data => {this.circlePassDataFetch = data.json();

console.log("dataReached",this.circlePassDataFetch);

});  
}

1 Ответ

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

Измените параметр в вашей функции (ionChange) на $ event . Это передаст значение выбранной опции вашей функции.

<ion-content padding class="bgpage">
<div class = "col-md-6">
<ion-item>
  <ion-label>Delivery Circle</ion-label>
  <ion-select [(ngModel)]="data" (ionChange) = "delAreaCircle($event)">
    <ion-option  *ngFor = "let data of circleResponse" [value]="data['del_c_id']">{{data['del_c_name']}}</ion-option>
  </ion-select>
</ion-item>
</div>
<ion-item>
  <ion-label>Area / Near by Locality</ion-label>
  <ion-select [(ngModel)]="area_loc">
    <ion-option value="1">St. cruz</ion-option>
  </ion-select>
</ion-item>
</ion-content>
...