Angular のドロップダウンリストで値を選択する

Muhammad Adil 2022年5月23日
Angular のドロップダウンリストで値を選択する

Angular 2 では、ngOptions ディレクティブを使用してドロップダウンリストを作成し、ngFor ディレクティブを使用してドロップダウン値を反復処理し、ngif を使用して値を選択します。この記事では、Angular でドロップダウンリストを選択する方法を説明します。

Angular 2 のドロップダウンリストで値を選択する手順

ドロップダウンリストから値を選択することは、Web アプリケーションで最も一般的なタスクの 1つです。

Angular 2 のドロップダウンリストで値を選択するには、次の手順が必要です。

  • コードエディタを開きます。
  • ドロップダウンリストを作成します。
  • アイテムを追加するためのドロップダウンリストを開くためのボタンを追加します。
  • すべてのアイテムを表形式で表示するには、ng-for ディレクティブを使用して空の div 要素を追加します。
  • クリックすると、このビューで行われた変更を閉じて保存する関数を呼び出すボタンを追加します。
  • ngif ディレクティブを追加して、適切なオプションを選択します。

上記の手順を適用する例を書いてみましょう。

TypeScript コード(App.component.ts):

import { Component } from '@angular/core';
@Component({
    selector: 'my-app',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.css']
})
export class AppComponent {
    selectedOption = 0;
    actions = [{ id: 0, name: 'Select Country' },
    { id: 1, name: 'Netherland' },
    { id: 2, name: 'England' },
    { id: 3, name: 'Scotland' },
    { id: 4, name: 'Germany' },
    { id: 5, name: 'Canada' },
    { id: 6, name: 'Mexico' },
    { id: 7, name: 'Spain' }]
}

セレクターとテンプレートは、@Component メタデータオブジェクトの 2つのフィールドです。セレクターフィールドは、コンポーネントを表す HTML 要素のセレクターを指定します。

テンプレートは、このコンポーネントのビューを表示する方法を Angular に指示します。HTML ファイルに URL を追加するか、ここに HTML を配置することができます。

この例では、URL を使用して HTML テンプレートをポイントしています。その後、出力端子に表示するオプションを記述しました。

TypeScript コード:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
import { HelloComponent } from './hello.component';
@NgModule({
    imports:      [ BrowserModule, FormsModule ],
    declarations: [ AppComponent, HelloComponent ],
    bootstrap:    [ AppComponent ]
})
export class AppModule { }

@NgModule は、モジュールのメタデータを定義します。BrowserModule は重要なアプリサービスプロバイダーを追跡します。

また、ngIfngFor などの標準ディレクティブも含まれています。これらは、任意のモジュールのコンポーネントテンプレートに表示され、すぐに使用できます。ngModel ディレクティブには、FormsModule モジュールが必要です。

宣言リストは、アプリ要素と、アプリコンポーネント階層の先頭にあるルート要素を指定します。宣言配列には、モジュール、コマンド、およびパイプのリストが含まれています。

HTML コード(App.component.html):

<h2>Example of how to select the value in the dropdown list in Angular 2</h2>
<select id="select-menu" [(ngModel)]="selectedOption" class="bx--text-input" required name="actionSelection" >
        <option  *ngFor="let action of actions"  [value]="action.id">{{action.name}}</option>
    </select>
<div>
    <div *ngIf="selectedOption==1">
        <div>Netherland is selected</div>
    </div>
    <div *ngIf="selectedOption==2">
        <div>England is selected</div>
    </div>
    <div *ngIf="selectedOption==3">
        <div>Scotland is selected</div>
    </div>
    <div *ngIf="selectedOption==4">
        <div>Germany is selected</div>
    </div>
    <div *ngIf="selectedOption==5">
        <div>Canada is selected</div>
    </div>
    <div *ngIf="selectedOption==6">
        <div>Mexico is selected</div>
    </div>
    <div *ngIf="selectedOption==7">
        <div>Spain is selected</div>
    </div>
</div>

このコードでは、ngforngif の 2つのディレクティブを使用しました。

ngfor ディレクティブは、アイテムのリストを作成するために使用されます。これは、単純な配列でも、いくつかのプロパティが配列に変換されたオブジェクトでもかまいません。

ngfor ディレクティブは通常、配列を反復処理し、リスト内のアイテムごとに異なる DOM 要素をレンダリングするために使用されます。ここで、ngfor の目的は国のリストを作成することです。

次に、if-else ステートメントを作成する Angular のディレクティブである ngif を使用しました。ngElsengSwitch、および ngShow/ngHide と一緒に使用することもできます。

ディレクティブは、式が true と評価された場合にのみ HTML コードをレンダリングします。false と評価された場合、何もレンダリングされません。

ここで、ngif は選択した国のみを表示します。

ここをクリックして、上記のコードのライブデモを確認してください。

著者: Muhammad Adil
Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook

関連記事 - Angular List