привязка двух выборок angular - PullRequest
0 голосов
/ 03 августа 2020

У меня два выбора Первый предназначен для регионов, а второй - для городов. Первый заполнен регионами. Теперь у меня есть метод, который выводит города по идентификатору региона.

Я не знаю, как получить idregion и поставить это в функцию params

Это мой первый выбор

  <div class="form-group">
                    <label for="">Region</label>
                    <select class="form-control" 
                        [(ngModel)]="region" name="Region">
                        <option></option>
                        <option *ngFor="let region of
                            objectKeys(dropDownList2)|keys"
                            [value]="dropDownList2[region].idRegion">
                            {{dropDownList2[region].nomRegion}}
                        </option>

                    </select>

                </div>

Мои службы:

 getville() {
    return this.http.get(this.urltest + 'Villes');
  }

 
  getRegion() {
    return this.http.get(this.urltest + 'Regions');
  }



  GetRegionVille(idRegion) {

    return this.http.get(this.urltest + 'Villes/GetRegionVille/' + idRegion);
  }

My component.ts:

 getidregion() {
    this.res.getRegion().subscribe(R => {
      this.dropDownList2 = R as any;
     
    });
  }


 getregionville() {

    this.res.GetRegionVille(****i don t know how to get the idregion**** )
      .subscribe(response => {
        this.dropDownList = response as any;


      });
  }

это моя функция

  // GET: api/Villes
        [HttpGet("GetRegionVille/{id}")]
        public async Task<IActionResult> GetRegionVille([FromRoute] int id)
        {
            var req = from v in _context.Villes
                      join r in _context.Regions
            on v.IdRegion equals r.IdRegion
                      where r.IdRegion == id
                      select new {v.NomVille };
            return Ok(req);
        }

Мой выбор городов:

<div class="form-group">
                    <label for="">Ville</label>
                    <select class="form-control" name="Ville"
                      
                        [(ngModel)]="ville">
                        <option></option>

                        <option *ngFor="let ville of objectKeys(dropDownList) |
                            keys"
                            [value]="dropDownList[ville].idVille">
                            {{dropDownList[ville].nomVille}}
                        </option>

                    </select>

1 Ответ

0 голосов
/ 03 августа 2020

Выбранное значение будет в region переменной, как вы укажете [(ngModel)]="region", и вы можете использовать (ngModelChange)="onChange($event) ", чтобы получить событие при изменении значения

Я не уверен, используется ли двусторонняя привязка данных с (ngModelChange) эффективен, поэтому см. этот ответ Как мне получить новый выбор в «select» в Angular 2?

...