我在表单中使用ng-bootstrap
日期选择器。提交表单后,我需要保留选定的日期选择器值。提交表单后,当前日期选择器的值为空(重置)。如何保留选定的日期选择器值?
<form class="form-inline" name="form" #invoiceheaderform="ngForm" novalidate (ngSubmit)="invoiceheaderform.form.valid && save();">
自日期*
<div class="input-group">
<input class="form-control ngbfield"
name="invfromdate" [readonly]="true" #vl="ngModel" [(ngModel)]="model.fromDate" ngbDatepicker #d1="ngbDatepicker">
<div class="input-group-append">
<button class="btn btn-outline-secondary fa fa-calendar" (click)="d1.toggle()" type="button"></button>
</div>
<!-- <div *ngIf="invoiceheaderform.submitted && vl.invalid" class="invalid-feedback">From Date is required</div> -->
</div>
<button type="submit" [disabled]="disableRunButton" class="btn btn-primary mb-2 expad">Save</button>
</form>
答案 0 :(得分:1)
检查是否正在model.fromDate
函数中修改模型值(save()
)。由于它是一个日期,因此有可能在save()
函数中更改日期格式,并分配回同一变量。在这种情况下,请使用另一个变量来存储修改后的值。
答案 1 :(得分:0)
<div class="input-group">
<input class="form-control ngbfield" name="fromDate" [readonly]="true" #vl="ngModel" [(ngModel)]="model.fromDate" ngbDatepicker #d1="ngbDatepicker">
<div class="input-group-append">
<button class="btn btn-outline-secondary fa fa-calendar" (click)="d1.toggle()" type="button"></button>
</div>
答案 2 :(得分:0)
问题可能是提交时重置了模型值,并且由于这些值受ngModel绑定,因此日期值也被重置了
对于提交,而不是像上面那样直接调用save,请考虑将事件作为save($ event)传递并从save函数内部调用event.preventDefault()