目次
javascriptで作られたdate-picker ライブラリです。
ドキュメント:https://flatpickr.js.org/
ダウンロード:https://www.npmjs.com/package/ng2-flatpickr
日本語ドキュメント:https://tr.you84815.space/flatpickr/index.html
$ npm install –save flatpickr ng2-flatpickr
import { Ng2FlatpickrModule } from 'ng2-flatpickr';
"styles": [ "../node_modules/flatpickr/dist/flatpickr.min.css" ]
<ng2-flatpickr #flatpickr [config]="flatpickrOptions"> </ng2-flatpickr>
idを指定
[config]="flatpickrOptions"
TypeScript側でflatpickrOptionsにオプションを定義。
import { Component, ViewChild } from '@angular/core';
import * as moment from 'moment';
import Russian from 'flatpickr/dist/l10n/ja.js';
import { Ng2FlatpickrComponent } from 'ng2-flatpickr';
@Component({
selector: 'app-calendar',
templateUrl: './calendar.component.html',
styleUrls: ['./calendar.component.scss']
})
export class CalendarComponent {
flatpickrOptions = {
locale: Russian.ja,// ロケール指定
enableTime: true,時刻を指定可能にする
enableSeconds: true, 秒数を指定可能にする
allowInput: true,日付を直接入力可能にします。初期値は直接入力不可です。
time_24hr: true, 時刻選択を24時間表記で選択するか
onChange: function(selectedDates, dateStr, instance) {
// 日時を変更したとき
},
};
// カレンダーコンポーネント
@ViewChild('flatpickr') flatpickr: Ng2FlatpickrComponent;
// flatpickrに日時をセットする(inputに直接値をセットする)
setDate() {
this.flatpickr.flatpickrElement.nativeElement._flatpickr.setDate(moment().format('YYYY/MM/DD HH:mm'), true);
}
}
単純な機能しか使っていませんが、日本語の解説サイトなどが豊富で大変助かりました。
参考にしたサイト:https://goo.gl/gmdrkV