所以,我在这里有一个奇怪的事情
我有一个使用数据的应用程序,其中一个对象有多对多的关系,我有一个Select链接到DB中的所有现有对象,用户可以选择其中几个,但只有一个在一段时间,当选择时,它将立即显示在
上方的div上正如您在图像上看到的那样,在添加对象后,它不会从选择框中清除其值。最奇怪的部分是它在我第一次选择一个对象时工作正常,但从此开始失败。
我已经构建了一个plunker完全相同的代码(显然,这个列表来自我的应用程序中的数据库)它的行为方式类似,只是它没有第一次清除选项
html:
<div class="col-sm-10">
<div class="input-group">
<input type="text" class="form-control col-md-2" placeholder="Add Report" readonly>
<select class="form-control" id="field_add_reports" name="addReports" [ngModel]="whateverModel" (ngModelChange)="onChangeReport($event)">
<option [ngValue]="report" *ngFor="let report of reports;">
{{report.reportName+' '+report.reportYear+' '+report.journal?.journal_name}}</option>
</select>
</div>
</div>
<div *ngIf="showAlertReports" class="alert alert-danger col-md-4">
<span jhiTranslate="form.sampleReportCreation.reportRelated"></span>
</div>
打字稿:
onChangeReport(newObj) {
let save = true;
this.showAlertReports = false;
if (this.formDTO.sample.reports.length < 4) {
for (let i = 0; i < this.formDTO.sample.reports.length; i++) {
if (this.formDTO.sample.reports[i].id === newObj.id) {save = false; }
}
if (save) {
if (newObj.journal.id === null && newObj.journal.journal_name === 'No journal associated') {
newObj.journal = null;
}
this.formDTO.sample.reports.push(newObj);
} else {this.showAlertReports = true; }
}
this.whateverModel = null;
console.log(this.whateverModel);
}