Сохранение данных формы в модальном классе, содержащем массив [Angular] - PullRequest
0 голосов
/ 28 мая 2020

Как я могу сохранить данные формы, содержащие массив. Итак, я столкнулся с проблемой, которая заключается в том, что адреса равны нулю, тогда как другие данные, такие как регион города, не равны нулю. у кого-нибудь есть идея?!

Iuser.interface

 export interface UserData {
    id: string;
    email: string;
    adresses: string[];

  }

Component.ts

onSubmit() {

    const {adresse1, ...rest} = this.form;

    const userData: UserData = {...rest, adresses: [adresse1]};

    this.userservice.updateProfile(userData, this.currentUser.id).subscribe(
      data => {
        console.log(data);
        this.isSuccessful = true;
      },
      err => {
        this.errorMessage = err.error.message;
      }
    );
  }

компонент. html

<div class="form-group">
        <label>Address</label>
    <input type="text" class="form-control" placeholder=""
            name="adresse"
            [(ngModel)]="form.adresse"
            required
            #adresse="ngModel">

  </div> <!-- form-group end.// -->
<div class="form-row">
        <div class="form-group col-md-6">
          <label>Region</label>
      <input type="text" class="form-control"
      name="region"
      [(ngModel)]="form.region"
      required
      #region="ngModel">
    </div> <!-- form-group end.// -->

enter image description here

1 Ответ

1 голос
/ 28 мая 2020

Вы читаете adresse1 из this.form внутри метода onSubmit(), который не является частью вашего объекта формы, ваш адрес фактически хранится в свойстве adresse. Пожалуйста, обновите свой код в блоке отправки как

const {adresse, ...rest} = this.form;
const userData: UserData = {...rest, adresses: [adresse]};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...