+1选择后角度选择ngModel不清除

时间:2018-01-31 18:14:09

标签: angular forms typescript select

所以,我在这里有一个奇怪的事情

我有一个使用数据的应用程序,其中一个对象有多对多的关系,我有一个Select链接到DB中的所有现有对象,用户可以选择其中几个,但只有一个在一段时间,当选择时,它将立即显示在

上方的div上

enter image description here

正如您在图像上看到的那样,在添加对象后,它不会从选择框中清除其值。最奇怪的部分是它在我第一次选择一个对象时工作正常,但从此开始失败。

我已经构建了一个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);
}

0 个答案:

没有答案