以编程方式设置NgbDatePicker的日期

时间:2019-12-27 14:28:34

标签: angular angular-forms ngb-datepicker

我的组件中有两个NgbDatePicker:

      input(
        type="text",
        ngbDatepicker,
        #d="ngbDatepicker",
        [readonly]="true",
        formControlName='startDate',
        (dateSelect)='setNewMinDate($event)',
        )
      input(
        type="text",
        ngbDatepicker,
        #e="ngbDatepicker",
        [readonly]="true"
        formControlName='endDate'
        )

和此处理程序:

  @ViewChild('e', {static: false}) endDateComponent: Query;

  setNewMinDate(e: NgbDateStruct) {
    const minDate: Moment = moment(e.year + '-' + e.month + '-' + e.day);

    this.createAnnForm.value.endDate = minDate.toISOString();
    this.endDateComponent.navigateTo(e);
  }

表单模型具有ISO日期。

发生的事情是,日历弹出窗口的更改是新日期的日期,但是输入字段不会自动更新。有什么问题吗?

1 个答案:

答案 0 :(得分:0)

广告@Eliseo建议,我需要使用ReativeForm API

form.get('endDate').setValue(...)

更新输入字段