私が行っている、非常に迅速かつシンプルなソリューション、あなたのcomponent.tsで
HTMLファイル内
<div class="input-group">
<input class="form-control" placeholder="yyyy-mm-dd"
name="dp" [(ngModel)]="model" ngbDatepicker [dayTemplate]="customDay" [markDisabled]="isDisabled" #datepicker="ngbDatepicker">
<button class="input-group-addon" (click)="d.toggle()" type="button">
<img src="img/calendar-icon.svg" style="width: 1.2rem; height: 1rem; cursor: pointer;"/>
</button>
</div>
は
ファイルであります
// local reference varible of datepicker input
@Viewchild('datepicker') datepicker;
// listen to document click event and handle closeDponOutsideClick event
@HostListener('document:click', ['$event'])
closeDponOutsideClick(event) {
if (event.target.offsetParent !== null && event.target.offsetParent.tagName !== 'NGB-DATEPICKER') {
this.datepicker.close();
}
}
説明:ドキュメントのクリックイベントをリッスンし、ターゲットオフセットの親要素がnullではなく、タグ名が「NGB-DATEPICKER」と等しくないことを確認します。これは、datePickerの外部クリックが常に異なるoffsetParent名前は「NGB-DATEPICKER」よりも大きい。
これは誰かを助けることを望みます。
もう一度テストできますか?私は変更を保存しました... – AMagyar