Ngx-ブートストラップ-タブ

ngx-bootstrap tabsコンポーネントは、使いやすく、高度に構成可能なTabコンポーネントを提供します。

TabsetComponent

セレクタ

  • tabset

入力

  • justified −ブール値。真のタブがコンテナを満たし、幅が一定の場合。

  • type −文字列、ナビゲーションコンテキストクラス:「タブ」または「ピル」。

  • vertical −真のタブが垂直に配置される場合。

TabDirective

セレクタ

  • タブ、[タブ]

入力

  • active −ブール値、タブのアクティブ状態の切り替え。

  • customClass−文字列が設定されている場合、タブのクラス属性に追加されます。複数のクラスがサポートされています。

  • disabled −ブール値(trueタブをアクティブ化できない場合)。

  • heading −文字列、タブヘッダーテキスト。

  • id−文字列、タブID。接尾辞「-link」が付いた同じIDが対応するに追加されます

  • element.

  • removable −ブール値。真のタブを削除できる場合は、追加のボタンが表示されます。

出力

  • deselect −タブが非アクティブになったときに発生し、$ event:TabはTabコンポーネントの選択解除されたインスタンスと同じです。

  • removed −タブが削除される前に発生し、$ event:Tabは削除されたタブのインスタンスと同じです。

  • selectTab −タブがアクティブになったときに発生し、$ event:TabはTabコンポーネントの選択されたインスタンスと同じです。

タブを使用するので、ngx-bootstrapの並べ替え可能な章で使用されているapp.module.tsを更新して使用する必要がありますTabsModule そして TabsetConfig

TabsModuleとTabsetConfigを使用するようにapp.module.tsを更新します。

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
import { PaginationModule,PaginationConfig } from 'ngx-bootstrap/pagination';
import { PopoverModule, PopoverConfig } from 'ngx-bootstrap/popover';
import { ProgressbarModule,ProgressbarConfig } from 'ngx-bootstrap/progressbar';
import { RatingModule, RatingConfig } from 'ngx-bootstrap/rating';
import { SortableModule, DraggableItemService } from 'ngx-bootstrap/sortable';
import { TabsModule, TabsetConfig } from 'ngx-bootstrap/tabs';

@NgModule({
   declarations: [
      AppComponent,
      TestComponent
   ],
   imports: [
      BrowserAnimationsModule,
      BrowserModule,
      AccordionModule,
      AlertModule,
      ButtonsModule,
      FormsModule,
      CarouselModule,
      CollapseModule,
      BsDatepickerModule.forRoot(),
      BsDropdownModule,
      ModalModule,
      PaginationModule,
      PopoverModule,
      ProgressbarModule,
      RatingModule,
      SortableModule,
      TabsModule
   ],
   providers: [AlertConfig, 
      BsDatepickerConfig, 
      BsDropdownConfig,
      BsModalService,
      PaginationConfig,
      ProgressbarConfig,
      RatingConfig,
      DraggableItemService,
      TabsetConfig],
   bootstrap: [AppComponent]
})
export class AppModule { }

tabsコンポーネントを使用するようにtest.component.htmlを更新します。

test.component.html

<tabset>
   <tab heading="Home">Home</tab>
   <tab *ngFor="let tabz of tabs"
      [heading]="tabz.title"
      [active]="tabz.active"
      (selectTab)="tabz.active = true"        
      [disabled]="tabz.disabled">
      {{tabz?.content}}
   </tab>
</tabset>

対応する変数とメソッドのtest.component.tsを更新します。

test.component.ts

import { Component, OnInit } from '@angular/core';

@Component({
   selector: 'app-test',
   templateUrl: './test.component.html',
   styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
   tabs = [
      { title: 'First', content: 'First Tab Content' },
      { title: 'Second', content: 'Second Tab Content', active: true },
      { title: 'Third', content: 'Third Tab Content', removable: true },
      { title: 'Four', content: 'Fourth Tab Content', disabled: true }
   ];
   constructor() {}
   ngOnInit(): void {
   } 
}

構築して提供する

次のコマンドを実行して、Angularサーバーを起動します。

ng serve

サーバーが起動して実行されたら。http:// localhost:4200を開きます。[モーダルを開く]ボタンをクリックして、次の出力を確認します。