У меня есть опция выбора с CompareWith, но она не выбирает запись в раскрывающемся списке.
<select class="form-control" name="selectAnswer" [(ngModel)]="Result.answers[i]" [compareWith]="compareFn">
<option [ngValue]="answer" *ngFor="let answer of QuestionOption.Answers">{{answer.description}}</option>
Итак, у меня есть один объект Result.answers [i], где у меня есть в массиве мои выбранные и сохраненные значения (ранее сохраненные при создании записи.
В QuestionOption.AnswersУ меня есть для всех потенциальных ответов на связанный вопрос.
Теперь в сравнении Fn я сравниваю QuestionOption.Answers с Result.answers [i].
compareFn(c1: any, c2: any): boolean {
console.log(c1 && c2 ? c1.id === c2.id : c1 === c2);
return c1 && c2 ? c1.id === c2.id : c1 === c2;
}
в console.log, который я получаюtrue, false, false ... Похоже, что функция возвращается совершенно нормально, если c1.id === c2.id
НО в выпадающем списке запись не выбрана. Она просто остается пустой.
Что мне не хватает?
Все выглядит нормально, кроме выбора не работает. Что может быть основной причиной?