Ignite UI for jQuery 製品で提供されているコンポーネントを Angular アプリケーション内で利用することができます。 Ignite UI for jQuery 製品を Angular アプリケーションで利用するには、igniteui-angular-wrappers というライブラリをインストールし、Ignite UI for jQuery コンポーネントの型定義ファイルなどを用意します。igniteui-angular-wrappers に関する情報は、下記 KB 記事をご覧ください。
Ignite UI for jQuery Angular Wrappers の使い方 – INFRAGISTICS ナレッジベース
igniteui-angular と igniteui-angular-wrappers の違いは何ですか? – INFRAGISTICS ナレッジベース
今回は、Ignite UI for jQuery で提供されている igCombo コンポーネントを Angular アプリケーションで利用するサンプルを紹介します。
package.json
jquery, @types/jquey, igniteui-angular-wrappers をインストールします。
"dependencies": { ... "@types/jquery": "^3.3.11", ... "igniteui-angular-wrappers": "^6.0.2", "jquery": "^3.3.1", ... },
app.component.html
igCombo の宣言を行います。
<ig-combo [widgetId]="'combo1'" [(options)]="options" [dataSource]="colors" [(ngModel)]="_value"> </ig-combo>
app.component.ts
igCombo にバインドするデータを用意します。
import { Component } from '@angular/core'; import * as jQuery from 'jquery'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { jQuery: any; colors = [ { 'Text': 'Black', 'Value': 1 }, { 'Text': 'Blue', 'Value': 2 }, { 'Text': 'Brown', 'Value': 3 }, { 'Text': 'Red', 'Value': 4 }, { 'Text': 'White', 'Value': 5 }, { 'Text': 'Yellow', 'Value': 6 } ]; _value = null; options = { allowCustomValue: true, rendered: (evt, ui) => { const input = ui.owner.textInput(); input.on('input', () => { this._value = input.val(); }); jQuery('.ui-igcombo-clear').on('click', () => { this._value = null; }); } }; }