Мне нужно привязать элементы списка выбора к массиву объектов, вместо этого я получаю строку [ngmodel] в угловых - PullRequest
0 голосов
/ 06 октября 2019

У меня есть шаблон, управляемый в угловой форме для отправки данных в бэкэнд (ASP.NET CORE) У меня есть список выбора, из которого я хочу связать выбранные элементы с массивом объектов, используя [ngModel] ... thisне работает, вместо этого я получаю массив строк, который мне не нужен

, когда я ничего не выбираю, моя полезная нагрузка верна и массив объектов привязан, но когда я выбираю опциюЯ получаю массив строк ....

<select id="candidates-election-info" name="candidates" [(ngModel)]="electionEdit.candidates" #candidates="ngModel" #candidatesSelector="bootstrap-select" > <option *ngFor="let candidate of allCandidates"[ngValue]="candidate" attr.data-content="<span title='{{candidate.description}}' class='badge badge-pill badge-secondary'>{{candidate.name}}</span>" attr.value="{{candidate.name}}"> {{candidate.name}} </option> // это моя разметка

это моя модель

import { Election } from './election.model';
import { Candidate } from './candidate.model';


export class ElectionEdit extends Election  {
// isEnabled: boolean;
constructor(name?: string, description?: string, candidates?: 
Candidate[], startDate?: Date, endDate?: Date) {
super();

this.name = name;
this.description = description;
this.candidates = candidates;
this.startDate = startDate;
this.endDate = endDate;
}

public id: string;
public name: string;
public startDate: Date;
public endDate: Date;
public description: string;
public candidates: Candidate[];//consider making it string
}

это соответствующая функция

`private setCandidates(election: Election, allCandidates?: Candidate[]) {
this.allCandidates = allCandidates ? [...allCandidates] : [];
if (election.candidates) {
  for (const ec of election.candidates) {
    console.log(election.candidates);
    if (!this.allCandidates.some(r => r.name == ec.name)) {
      this.allCandidates.unshift(new Candidate(ec.name,ec.gender,ec.phoneNumber));
      console.log(election.candidates);
    }
  }
}

`

в настоящее время, когда я выбираю кандидата из списка выбора, я получаю его в качестве полезной нагрузки на вкладке сети

кандидатов: [" bla2a "]0: "bla2a" // это массив строк, описание которых я не хочу: "test desc" endDate: "10/06/2019" id: 5 index: 2 name: "sesso" startDate: "06/06/2019"

но когда я не выбираю, я получаю правильную полезную нагрузку, которая является {name:" test interface ", description:" qwefwef ", кандидаты: [,…], startDate:« 10/05/2019 »,…} кандидаты: [,…] 0: {id: 2, имя:« imsail », электронная почта:« asdd », phoneNumber:«qwd ", адрес:" dwq ", город:" dwq ", пол: 1,…} 1: {id: 4, имя:" bla2a ", адрес электронной почты:" asdd ", номер телефона:" qwd ", адрес:" dwq", город:" dwq ", пол: 1,…} 2: {id: 5, имя:" drata ", электронная почта:" efqwfeq ", phoneNumber:" fwqfqw ", адрес:" dwq ", город:" dwq ", пол: 1,…} описание: «dqwefwef» endDate: «10/05/2019» id: 3 index: 1 name: «test interface» startDate: «10/05/2019»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...