我有一个带有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中。我对相关问题的所有潜在答案都有答案。
现在在compareFn中,我将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
,该函数似乎返回的效果很好。但是 在下拉列表中,未选择记录。它只是空着。
我想念什么?
除了选择不起作用外,一切似乎都很好。可能是根本原因?