代码之家  ›  专栏  ›  技术社区  ›  Zabs

选择日期时,如何保持日期选择器打开?

  •  2
  • Zabs  · 技术社区  · 6 年前

    "@angular/material": "^2.0.0-beta.12" )-我已经得到了这项工作的罚款,但我需要的能力,选择一个日期,并保持开放的日期选取器-这项功能是在角材料(5.0.0)的以下版本,但它也意味着升级我们的角度本身的版本从4到5(这是我们目前无法做到的事情)

    如何修改代码以允许我a)即使选择了日期也保持日期选择器打开,或者b)一旦选择了日期立即重新打开日期选择器-这是否可能使用此旧版本的材料

    https://stackblitz.com/edit/angular-ysspzm-bz2ezu?file=app/datepicker-overview-example.ts

    <mat-datepicker-toggle
            matSuffix
            [for]="picker">
    </mat-datepicker-toggle>
    
    <mat-datepicker
            #picker
            class="fixed-open"
            opened="true">
    </mat-datepicker>
    

    //自定义日期选择器组件 已在此处添加导入。。。

    @Component({
      selector: 'app-datepicker',
      templateUrl: './datepicker.component.html',
      styleUrls: ['./datepicker.component.scss']
    })
    
    export class DatepickerComponent {
      @ViewChild('keepOpen') _input: ElementRef;
    
      _openCalendar(picker: MatDatepicker<Date>) {
          picker.open();
      }
    }
    

    //那个 datepicker.d.ts 从node\u modules目录(我在pastebin链接中使用下面的代码) https://pastebin.com/ChYBmpU6

    1 回复  |  直到 6 年前
        1
  •  2
  •   Marshal    6 年前

    这似乎适用于日期更改,您可以将其重构为所需的任何事件类型。

     @ViewChild('picker') picker;
    
      _openCalendar() {
       setTimeout(()=>this.picker.open());
      }
    

    <input 
          matInput 
          [matDatepicker]="picker" 
          placeholder="Choose a date" 
          (dateChange)="_openCalendar()"
          #keepOpen>