angular - 如何使用 ng bootstrap 和 angular 6 以编程方式设置自定义日期?

标签 angular typescript ng-bootstrap bootstrap-datepicker

我在这里尝试使用 ng-bootstrap 日期选择器以编程方式设置日期

我尝试过这样的事情来放置自定义日期

this.model= {
  "year": 2018,
  "month": 8,
  "day": 15
}

我知道这不是一种有效的方法,并且有一个问题是在选择给出日期选择器后不会导航到该特定月份。

假设如果我选择 2018 年 1 月 2 日,那么它也停留在当前月份,而不是移动到 1 月。我该如何解决这些问题?

下面是我的代码 & stack blitz link

.ts代码

model: NgbDateStruct;
  date: {year: number, month: number};
  constructor(private calendar: NgbCalendar){

  }

   selectToday() {
    this.model = this.calendar.getToday();
  }

  select(){
    this.model= {
  "year": 2018,
  "month": 8,
  "day": 15
}

.html 文件

<ngb-datepicker #dp [(ngModel)]="model" (navigate)="date = $event.next"></ngb-datepicker>

最佳答案

只需使用 [startDate]="model" 绑定(bind),这样您就可以在更新模型时始终访问该页面:

<ngb-datepicker #dp [(ngModel)]="model" [startDate]="model" (navigate)="date = $event.next"></ngb-datepicker>

或者您可以通过 dp.navigateTo(model) 方法手动导航日历:

<ngb-datepicker #dp [(ngModel)]="model" (navigate)="date = $event.next"></ngb-datepicker>

<button class="btn btn-sm btn-outline-primary mr-2" (click)="selectToday(dp)">Select Today</button>
<button class="btn btn-sm btn-outline-primary mr-2" (click)="select(dp)">Select Custom</button>

在 Controller 中:

selectToday(dp) {
  this.model = this.calendar.getToday();
  dp.navigateTo(this.model);
}

select(dp){
  this.model = {
    "year": 2018,
    "month": 8,
    "day": 15
  }
  dp.navigateTo(this.model);
}

更多相关信息:https://ng-bootstrap.github.io/#/components/datepicker/overview#navigation

更新示例:https://stackblitz.com/edit/angular-knmpxc

手动解决方案:https://stackblitz.com/edit/angular-uvmjg4

关于angular - 如何使用 ng bootstrap 和 angular 6 以编程方式设置自定义日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52314348/

相关文章:

javascript - Protractor Jasmine 规范描述中的浏览器功能

angular - ng-bootstrap - ngbtooltip 不适用于 [(ngModel)]

html - 使轮播的高度与图像的高度相同,忽略图像的边距

angular - 禁用 ngbDatepicker 输入

angular - Webpack-dev-server- 模块构建失败

Angular - 仅渲染已定义的元素属性

html - 如何使用angular 5根据屏幕分辨率设置动态div高度

javascript - 如何强制 TypeScript 允许 null 作为索引类型?

reactjs - 在保留 props 的同时在 React 和 TypeScript 中扩展 HTML 元素

typescript - 是否可以在基类中有函数,但在子类中有 lambda 函数?