Angular Month Picker (月ピッカー) コンポーネントの概要
Angular Month Picker コンポーネントは、カレンダー ビューで年や月を簡単で直感的な選択できます。このコンポーネントを使用すると、その値を日付オブジェクトにバインドでき、月ピッカー コンポーネント UI を通じて日付オブジェクトの月と年の部分を変更できます。ローカリゼーションもサポートします。
Angular Month Picker の例
こちらに表示されているのは、ユーザーが年と月を選択できるコンポーネントのデフォルト ビューを備えた基本的な Angular Month Picker の例です。
このサンプルが気に入りましたか? 完全な Ignite UI for Angularツールキットにアクセスして、すばやく独自のアプリの作成を開始します。無料でダウンロードできます。
Ignite UI for Angular Month Picker を使用した作業の開始
Ignite UI for Angular Month Picker コンポーネントを使用した作業を開始するには、Ignite UI for Angular をインストールする必要があります。既存の Angular アプリケーションで、以下のコマンドを入力します。
ng add igniteui-angular
cmd
Ignite UI for Angular については、「はじめに」トピックをご覧ください。
はじめに、app.module.ts ファイルに IgxCalendarModule
をインポートします。
IgxMonthPickerComponent はタッチ操作の BrowserAnimationsModule
と HammerModule
(オプション) に依存関係があり、これらも AppModule に追加する必要があります。
// app.module.ts
...
import { HammerModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { IgxCalendarModule } from 'igniteui-angular';
// import { IgxCalendarModule } from '@infragistics/igniteui-angular'; for licensed package
@NgModule({
...
imports: [..., BrowserAnimationsModule, HammerModule, IgxCalendarModule],
...
})
export class AppModule {}
typescript
あるいは、16.0.0
以降、IgxMonthPickerComponent
をスタンドアロンの依存関係としてインポートすることも、IGX_CALENDAR_DIRECTIVES
トークンを使用してコンポーネントとそのすべてのサポート コンポーネントおよびディレクティブをインポートすることもできます。
// home.component.ts
import { HammerModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { IgxMonthPickerComponent } from 'igniteui-angular';
// import { IgxMonthPickerComponent } from '@infragistics/igniteui-angular'; for licensed package
@Component({
selector: 'app-home',
template: '<igx-month-picker></igx-month-picker>',
styleUrls: ['home.component.scss'],
standalone: true,
imports: [BrowserAnimationsModule, HammerModule, IgxMonthPickerComponent]
/* or imports: [BrowserAnimationsModule, HammerModule, IGX_CALENDAR_DIRECTIVES] */
})
export class HomeComponent {}
typescript
Ignite UI for Angular Calendar モジュールまたは Month Picker コンポーネントをインポートしたので、igx-month-picker
コンポーネントの使用を開始できます。
IgxMonthPickerComponent
が日付のローカライズおよび書式設定のために Intl を使用します。
対象プラットフォームがその API をサポートしない場合、適切なポリフィルを使用してください。
Angular Month Picker の使用
テンプレートに Angular Month Picker を追加するには、以下のコードを使用してください。
<!-- month-picker-sample.component.html -->
<igx-month-picker></igx-month-picker>
html
日付の設定
IgxMonthPickerComponent
に日付を設定するには、value
入力を設定します。
// month-picker-sample.component.ts
public date: Date = new Date();
typescript
<!-- month-picker-sample.component.html -->
<igx-month-picker [value]="date"></igx-date-picker>
html
双方向データ バインディングを作成するには、以下のように ngModel
を設定します。
<!-- month-picker-sample.component.html -->
<igx-month-picker [(ngModel)]="date"></igx-date-picker>
html
書式設定
formatOptions
入力を使用してマンスピッカーの表示形式を変更します。
<!-- month-picker-sample.component.html -->
<igx-month-picker [(ngModel)]="date" [formatOptions]="numericFormatOptions"></igx-month-picker>
html
// month-picker-sample.component.ts
public date: Date = new Date();
public numericFormatOptions = {
month: '2-digit'
};
typescript
ロカリぜーション
locale
入力を使用して、Ignite UI for Angular Month Picker ローカリゼーションをカスタマイズします。
<!-- month-picker-sample.component.html -->
<igx-month-picker [(ngModel)]="date" [locale]="locale" [formatOptions]="formatOptions"></igx-month-picker>
html
// month-picker-sample.component.ts
public date: Date = new Date();
public locale: 'fr';
public formatOptions = {
month: 'long'
};
typescript
Month Picker コンポーネントのローカライズとスタイル設定の例:
キーボード ナビゲーション
igxMonthPicker コンポーネントがフォーカスを持つ場合:
- PageUp キーは前の年に移動します。
- PageDown キーは次の年に移動します。
- Home キーは現在の年の最初の月にフォーカスします。
- End キーは現在の年の最初の月にフォーカスします。
- Tab キーはサブヘッダー ボタン間を移動します。
サブヘッダーで
<
(前) または>
(次) の年ボタンのフォーカス時:- Space または Enter キーは次または前の年のビューへスクロールします。
サブヘッダーの年ボタンのフォーカス時:
- Space または Enter キーは年ビューを開きます。
- 右矢印 または 左矢印 は前の年または次の年のビューへスクロールします。
月ビュー内の月のフォーカス時:
- 矢印キーで月を移動します。
- Home キーは月ビューの最初の月にフォーカスします。
- End キーは月ビューの最後の月にフォーカスします。
- Enter キーは現在フォーカスされた月を選択してビューを閉じ
- Tab キーは月を移動します。
スタイル設定
Month Picker のスタイル設定を始めるには、すべてのテーマ関数とコンポーネント ミックスインが存在する index
ファイルをインポートする必要があります。
@use "igniteui-angular/theming" as *;
// 重要: Ignite UI for Angular 13 より前のバージョンは、次を使用してください。
// @import '~igniteui-angular/lib/core/styles/themes/index';
scss
Month Picker はカレンダーのテーマを使用するため、calendar-theme
を拡張する新しいテーマを作成し、そのパラメーターを使用して Month Picker の項目をスタイル設定します。
$my-calendar-theme: calendar-theme(
$border-radius: 15px,
$content-background: #011627,
$picker-background: #011627,
$ym-current-foreground: #ecaa53,
$ym-hover-background: #ecaa53,
$navigation-color: #ecaa53,
$picker-hover-foreground: #d37b08,
$navigation-hover-color: #d37b08,
$picker-foreground: #ecaa53,
);
scss
次にコンポーネントのテーマをアプリケーションに含めます。
@include css-vars($my-calendar-theme);
scss
すべて設定できると、結果は以下のようになります。