angular - ngbDatepicker 设置值

标签 angular angular6 ngb-datepicker angular-template-form

在我的 Angular 应用程序模板驱动表单中,我有一个出生日期字段并为该字段添加了 ngbDatepicker 作为给定。

<input #dob="ngbDatepicker"
                 (click)="dob.toggle()"
                 [(ngModel)]="model.dob"
                 [ngClass]="{ 'is-invalid': f.submitted &&  dob.invalid }"
                 class="form-control"
                 id="dob"
                 name="dob"
                 required
                 type="text"
                 [disabled]="isDisabled"
                 [class.ash]="isDisabled"
                 [class.highlight]="!isDisabled"
                 ngbDatepicker
          />

我从后端 API 中获取出生日期为 dob: "2019-02-16 00:00:00"我想像下面这样传递那个值,
 { 
  "year": 2019, 
  "month": 2, 
  "day": 26 
 }

因为 ngbDatepicker 以该格式获取值。这就是我试图转换我的出生日期。
toDate(dob) {
 const [year, month, day] = dob.split('-');
 const obj = { year: year, month: month, day: day.split(' ')[0].trim() };
 console.log('convert date', obj);
 this.model.dob = obj;
 //  this.model.dob ={year: 2017, month: 5, day: 13};
}

输出为 {year: "2019", month: "02", day: "16"} , 我想从这个输出中删除引号。我尝试了很多方法,但无法获得所需的输出。
我可以得到 {"year": 2019, "month": 02, "day": 16}此输出使用波纹管代码。
JSON.stringify({ "year": "2019", "month": "2", "day": "26" }, (key, value) => !isNaN(+value) ? +value : value);

但是要设置日期,我需要像这样设置对象。 {year: 2019, month: 2, day: 26 }

最佳答案

我通过这样做解决了我的问题。

创建 NgbDate 实例,

date = new NgbDate(2020,19,02);

将此日期设为 ngModel;

关于angular - ngbDatepicker 设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54628515/

相关文章:

angular - 即使未选择任何值,如何在表单中标记 ngbDatepicker 有效

typescript - 如何在 ngbdatepicker 中更改 datepicker 日期格式,如 dd/mm/yyyy

unit-testing - 如何使用 Angular 2 中的日期管道测试元素的呈现?

java - spring-boot 服务经常宕机

angular - Angular 2/4 中的 HAML?

javascript - 在循环内触发同步调用,等待两个 api 调用成功,然后下一次迭代需要以 Angular 6 开始

Angular 6 库 - 无法解析条目

javascript - 错误类型错误 : date. 当我在 Angular 中添加 ngb datepicker 时,等于不是函数

angular - Angular 项目中的 Blazor webassembly

angular - 在 NG Live Development Server 运行时生成新组件?