使用angular 7模板驱动的形式以<select>显示用户选择

时间:2019-08-05 11:17:02

标签: angular angular-forms two-way-binding

我有一个数组possibleAnswers[],其中包含select的可能选项,一个数组chosenFields[]的一个元素,包含我需要显示为选定状态的一个选项。 可能的答案和选择的答案都来自不同的观点。如何实现数据绑定?

我尝试同时使用[comparedWith][selected][ngValue][value]标记,但无法使用。

 <select class="form-control" id="possibleAnswersOfField{{j}}" name="selectForQuestion{{i}}" [(ngModel)]="answers[i].chosenFields[j]">
     <option *ngFor="let answer of question.possibleAnswers" [selected]="answer == answers[i].chosenFields[j]">{{answer}}</option>
 </select>

Angular始终选择possibleAnswers的最后一个元素作为所选选项,这很奇怪,因为如您在屏幕快照中所见,最后一个元素“ blau”没有选择标签。

resulting html

这是表格:

enter image description here

1 个答案:

答案 0 :(得分:0)

[selected]是实现此目的的正确方法,如果该值是您要选择的值,则需要传递true。

或者,如果您需要查看该值是否与selectedFields值匹配,它将看起来像这样。

 <option *ngFor="let answer of question.possibleAnswers" [selected]="answer == chosenFields[0]">
         {{answer}}
     </option>

这种方式[selected]将两个值匹配为真。