Angular - управляемая шаблоном форма - отправка данных массива в виде объектов в массиве - PullRequest
0 голосов
/ 02 марта 2020

Я показываю несколько списков в раскрывающемся списке множественного выбора. Данные, которые отправляются, имеют вид

[ "object1" , "object2" ]

Я хочу, чтобы они были отправлены в форме:

[ { object 1 } , { object 2} ]

My Код раскрывающегося списка из html:

<select name="service" multiple matNativeControl required ngModel>
  <option *ngFor="let service of subCategoriesList" value="{{service.id}}">{{service.service}}</option>
</select>

Файл Component.ts:

addPackage(form: NgForm){
    const body = {
      package_name : form.value.name,
      services: form.value.service, //the value required in objects in an array   
    }
    console.log("add package body is: ", body)

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 02 марта 2020

Попробуйте использовать Object.assign;

в функции addPackage: затем создайте пустой массив для каждого вызова выбора Object.assign

addPackage(form: NgForm){
    let selections=[];
    form.value.service.forEach(element => {
      var selection= Object.assign({}, { element });
      selections.push(selection);
    });
    const body = {
      package_name : form.value.name,
      services: selections, //put your created objects here   
    }
    console.log("add package body is: ", body)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...