Как заполнить форму name_city и отправить id_city при использовании `setTimeout (() => {` - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь использовать автозаполнение в моем проекте.У меня проблема, когда я заполняю форму.1. Я хочу отобразить в html название города, как в этом image:

Когда я нажимаю кнопку Регистрация Я хочу отправить id_city, как в этом image

Также, когдаЯ удаляю или добавляю элементы, которые хочу отправить id_city.В этой части у меня проблема.Поскольку существующий город отправляет имя, а новый город передает id_city, например image:

Моя заполненная форма:

populateform(){
      this.client.forEach(x => console.log(x));
    this.myform.patchValue({
      email: this.client.map(x => x.email),
      client_name: this.client.map(x => x.client_name),
    });
    city_id: this.client.forEach(x => {
      x.city_id.forEach(cid => {
        //this.formData.push(new FormControl(x.city_id))
        let control = new FormControl(cid, Validators.required);
        this.formData.push(control);
        setTimeout(() => {
          let cityName = this.city.find(c => c.city_id == cid).name;
          control.patchValue(cityName, { onlySelf: true, emitEvent: true });
        }, 100)
      });

    })
}

Это демо

...