我使用angular 5 Reactive Form和ngx-bootstrap datepicker进行日期输入。
<div class="col-sm-3 form-group">
<input type="text" class="form-control"
placeholder="End Date"
formControlName="endDate"
[bsConfig]="{ containerClass: 'theme-dark-blue', dateInputFormat: 'YYYY-MM-DD' }"
bsDatepicker>
</div>
ngOnInit(){
this.createEditForm();
}
createEditForm(){
this.editForm = this.fb.group(
{
id: [this.id],
startDate: [this.startDate, Validators.required],
endDate: [this.endDate],
annualSalary: [this.annualSalary, Validators.required],
userId: [this.userId]
});
}
但是当我更改输入日期时,前端显示正确的日期(例如当我键入2018-01-03时显示2018-01-03),但是表单值显示类似Day-1(2018-01-02) )
我试图将日期设置为字符串,但仍然无法正常工作。
还有没有一种方法可以将每个日期都转换为字符串,而仅采用YYYY-MM-DD而无需时间和区域?
我使用ngx-boostrap 2.0.5(尝试3.0.1会产生错误)
答案 0 :(得分:1)
我使用了此功能onHidden
对我有用,
希望对您有帮助(;
CutTimeZoneDate(){
let d:Date = this.form.get(your-nameform-control).value
d.setHours(d.getHours() - d.getTimezoneOffset() / 60);
this.form.get(your-nameform-control).setValue(d)
答案 1 :(得分:0)
<p><code>ngModel</code> property sets two-way data binding in this example</p>
<div class="row">
<div class="col-xs-12 col-12 col-md-4 form-group">
<input class="form-control" #drp="bsDaterangepicker" bsDaterangepicker
[(ngModel)]="bsRangeValue">
</div>
<div class="col-xs-12 col-12 col-md-3 form-group">
<button class="btn btn-success" (click)="drp.toggle()" [attr.aria-
expanded]="drp.isOpen">Date Range Picker</button>
您忘记绑定模型ngx-bootstrap/datepicker