我已经使用ngx-daterangepicker-material创建了一个带有单个日期选择器的表单。我可以通过从日历中选择它来设置日期。但是,如果我使用键盘在框中键入日期,则无法识别该日期,并且使用在选择框中设置的先前日期作为模型值。这是可能的吗?如果可能,我如何实现这一点?
以下是我在我的页面中的指令:
<label for="submissionTimeFromDate" class="col-sm-3 text-sm-right col-form-label">Submission Time From</label>
<div class="col-sm-4">
<input type="text" id="submissionTimeFromDate" name="submissionTimeFromDate" ngxDaterangepickerMd [(ngModel)]="filter.submissionTimeFromDate" class="form-control form-control-sm" style="margin-bottom: 8px" [singleDatePicker]="true" [autoApply]="true" [locale]="{format: 'DD/MM/YYYY'}" />
</div>下面是如何在模型中设置此属性。由于https://github.com/fetrarij/ngx-daterangepicker-material/issues/141的一个错误,它必须这样做
this.filter.submissionTimeFromDate = {startDate: moment().subtract(2, 'months'), endDate: moment().subtract(2, 'months') }因此,当我提交表单时,我使用控制台输出日期值。
如果我使用日历设置日期,那么控制台中的输出如下所示:


当我在输入框中输入日期并点击‘过滤’时,我在控制台28/03/2019中得到了之前的日期,这是不正确的:

发布于 2019-07-26 00:59:28
我设法修复了这个问题,方法是在输入框中添加一个keyup监听器,当在文本框中输入值时,该监听器会更新模型。
<label for="submissionTimeFromDate" class="col-sm-3 text-sm-right col-form-label">Submission Time From</label>
<div class="col-sm-4">
<input #submissionTimeFromDateInput type="text" id="submissionTimeFromDate" name="submissionTimeFromDate" ngxDaterangepickerMd [(ngModel)]="submissionTimeFromDate"
class="form-control form-control-sm" style="margin-bottom: 8px" (keyup)="updateSubmissionTimeFromDateTextInput(submissionTimeFromDateInput.value)"
[singleDatePicker]="true" [autoApply]="true" [locale]="{format: 'DD/MM/YYYY'}" (datesUpdated)="clearSubmissionTimeFromDateTextInput()"/>
</div>https://stackoverflow.com/questions/56260640
复制相似问题