首页 文章

使用ngx-boostrap的ag-grid自定义日期组件

提问于
浏览
0

我想用一个漂亮的日期选择器创建我的自定义日期过滤器 . 我添加了一个自定义日期组件,如下所述:https://www.ag-grid.com/javascript-grid-date-component

在这个组件中,我使用了ngx-bootstrap的BsDatepickerModule . datepicker正在显示和工作 .

问题是,在选择日期后不仅仅关闭了datepicker,整个过滤器菜单也在关闭 . 我希望用户先按下应用过滤器 . 对于用户必须输入两个日期的日期范围,这尤其麻烦 .

请参阅以下plunker进行演示:https://plnkr.co/edit/hM7uAZaadbjoGcXPRaDP

通过BsDatepickerModule datepicker选择日期后,如何防止过滤菜单关闭?

customDate.component.html

<div class="filter">
    <input type="text"
    #dp="bsDatepicker"
    bsDatepicker
    [bsValue]="date"
    [bsConfig]="{ dateInputFormat: 'DD.MM.YYYY' }">
</div>

customDate.component.ts

import { Component } from "@angular/core";

@Component({
  selector: "app-customdatecomponent",
  templateUrl: "./customDate.component.html",
})
export class CustomDateComponent  {
  private date: Date;
  private params: any;

  agInit(params: any): void {
    this.params = params;
  }
  onResetDate() {
    this.setDate(null);
    this.params.onDateChanged();
  }
  onDateChanged(event) {
    this.params.onDateChanged();
  }
  getDate(): Date {
    return this.date;
  }
  setDate(date: Date): void {
    this.date = date;
  }
}

1 回答

  • 0

    您可能需要使用“应用”按钮在弹出框中开发一个包含BS日期选择器的自定义组件 . 在我的一个项目中,我们有一个自定义的datepicker组件,用于ag-grid,它在一个带有一些自定义选项的popover(无应用按钮)上包含了ng-bootstrap日期选择器 . 然而,这是一项非常重要的工作,该组件需要一段时间才能投入 生产环境 .

相关问题