Как преобразовать значение массива, полученное из выпадающего мультиселектора, в строку в угловых 5 - PullRequest
0 голосов
/ 09 мая 2018

Я использовал множественный выбор раскрывающегося списка материалов, с помощью которого пользователи могут выбирать несколько данных. когда данные отправляются компоненту, данные принимаются в формате массива, который API не принимает для вставки в базу данных. Код моего просмотра:

      <mat-input-container>
    <input matInput type="number" formControlName="around" placeholder="Around" required >
    <p class="invalid-text" *ngIf="JifForm.controls.around.invalid &&
            (JifForm.controls.around.dirty || JifForm.controls.around.touched)">
      <span *ngIf="JifForm.controls.around.errors.required">Around is required.</span></p>
  </mat-input-container>

      <mat-form-field>
    <mat-select placeholder="Front Pass" formControlName="job_front_color" required multiple>
      <mat-option  value="pink">Pink</mat-option>
      <mat-option  value="black">Black</mat-option>
    </mat-select>
  </mat-form-field>

выдает данные в следующем формате:

job_deno: 12345
job_front_color:(2) ["pink", "black"]

Есть ли способ получить значение в job_front_color в строковом формате, например pink, black, чтобы значение могло проходить через API в виде строки

Я передаю данные из формы в API через следующий код:

  onSubmit(form) {
  //console.log('AAAAAAAAAAAAAAAAAAAAAAAAAAAa', form);
return this._http.post('http://localhost:8000/api/v1/jobInstructionForm ', form, {headers: this.headers}).subscribe(res => {
  this.flashMsg.flashMsg('success', 'added', 'JIF added');
  this._router.navigate( ['pages/jif'] );
} );

}

1 Ответ

0 голосов
/ 09 мая 2018

Вы можете использовать Array.prototype.join() - Документы

В вашем случае, то, что вы хотите, это join(', ')

let arr = ["pink", "black"]
console.log(arr.join(', '));

EDIT

Если вы хотите отправить эту строку только в ваш API, просто сделайте это:

onSubmit(form) {
  const stringOfColours = form.job_front_color.join(', );
  return this._http.post('http://localhost:8000/api/v1/jobInstructionForm ', stringOfColours, {
    headers: this.headers
  }).subscribe(res => {
    this.flashMsg.flashMsg('success', 'added', 'JIF added');
    this._router.navigate(['pages/jif']);
  });
}
...