У меня есть шаблон, управляемый в угловой форме для отправки данных в бэкэнд (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»