2017-12-11 11 views
0

:각도 재질 날짜 선택기 수동 개방 그래서 같은 <code>open()</code> 및 <code>close()</code> 방법을 사용하여 프로그래밍 방식으로 제어되는 팝업 달력의 예가있는 날짜 선택기 문서에서

<mat-form-field class="example-full-width"> 
    <input matInput [matDatepicker]="picker" placeholder="Choose a date"> 
    <mat-datepicker #picker></mat-datepicker> 
</mat-form-field> 
<button mat-raised-button (click)="picker.open()">Open</button> 

하나는 true로 opened 속성을 설정할 수는/거짓과 같이 : 다른 날짜에 주위를 클릭 달력 팝업을 얻기 위해이를 사용하는 사용자를 영구히시키기위한 목적으로 개설 유지 어쨌든이있는 경우

<button mat-raised-button (click)="picker.opened = true">Open</button> 

궁금해하는 그 선택이 입력에 반영되어 있는가?

export class YourComponent{ 
    @ViewChild('picker') picker; 
    //.... 
    reOpenCalendar(){ 
    let self = this; 
     setTimeout(
      ()=>{     
       self.picker.open(); 
      }, 
      50 
     ); 
    } 
} 

이 날짜 선택 도구로 플래시 효과를 소개합니다 : /의 JS 당신이 새로운 방법을 선언 할 필요가 파일 구성 요소 TS에

<mat-form-field class="example-full-width"> 
    <input matInput (dateChange)="reOpenCalendar()" [matDatepicker]="picker" placeholder="Choose a date"> 
    <mat-datepicker #picker></mat-datepicker> 
</mat-form-field> 
<button mat-raised-button (click)="picker.open()">Open</button> 

:

+0

당신이 (가) 날짜 선택기를 다시 열 수있는 dateChange 이미 터를 구현할 수 있습니다를 선택하면 폐쇄를 해제하기 위해 입력 속성을 소개하는 것 선택된. – Mehdi

+0

알았어. 구현 세부 사항을 알려주십시오. – MadCatm2

답변

1

난 당신이 시도 할 수 있습니다 추측 사라지고 빠르게 다시 나타납니다.

다른 솔루션은 로컬 프로젝트에 포크 각 재료의 날짜 선택기 구성 요소 수와 날짜가 날짜 인 경우

+0

'dateChange() '이미 터를 공식 문서의 stackblitz 예제에 적용했고 날짜를 선택할 때 여전히 팝업을 닫습니다 : /. 문서가 좀 더 좋았 으면 좋겠어 ... 날짜가 있다는 것도 몰랐어. 방출기. 아마 Material의 datepicker를 사용하기보다는이 요구 사항을위한 실제 widget이 필요합니다. – MadCatm2

+0

방출기를 입력 태그로 옮겼습니다. 이 메서드의 타임 아웃은 Angular가 선택한 날짜의 이벤트에서 변경 감지를 실행 한 다음 datepicker 만 다시 열도록 허용하는 것입니다. – Mehdi

+0

독창적 인! 깜박임에 대해 너무 나쁨 :( – MadCatm2