Angular mat-date-range-input 自定义日期输入

Angular mat-date-range-input custom dateInput

我在这里创建了一个演示:https://stackblitz.com/edit/angular-ivy-8bvyfh?file=src/app/app.module.ts

我创建了 mat-date-range-input,它与 MomentDateAdapter 一起使用。当我 select 来自不同月份的日子都很好:

但是如果我从同月开始 select 天,预计该月将被省略。所以不是:

我想看看:“10 月 24 日至 27 日”。我怎样才能实现它?

演示在此 Stackblitz Link

一种解决方法是您可以使用模板引用变量替换输入中的文本。

  <mat-date-range-input [rangePicker]="picker">
   <input
     #dateRangeStart
      matStartDate
      placeholder="Start date"
      (blur)="dateRangeChange(dateRangeStart, dateRangeEnd)"
      (dateChange)="dateRangeChange(dateRangeStart, dateRangeEnd)"
    />
    <input
      matEndDate
      placeholder="End date"
      #dateRangeEnd
      (dateChange)="dateRangeChange(dateRangeStart, dateRangeEnd)"
    />
  />

然后在 component.ts 文件中你可以这样做

  dateRangeChange(s, e) {
    s.value = s.value.split(' ')[0];
  }