ionic4開發(fā)——集成Angular Material之步驟條

步驟條是個很常用的組件,最開始是我自己寫,插件沒寫成倒寫了一坨x,后來在群里有位大佬看見了我的需求,他開始寫了一個ionic2+的插件(HsuanXyz/ionic-stepper)對我?guī)椭艽螅浅8兄x;后來出現(xiàn)了NG-ZORRO的steps,我試過之后發(fā)現(xiàn)每一步嵌入form表單提交很不好處理;再后來又發(fā)現(xiàn)Angular Material的進步器,每一步都是單獨的按鈕,對表單提交互不影響;將來NG-ZORRO-MOBILE可能更適合,但是目前(2018-10-17)我試過之后點都點不動。

下面主要說說在ionic4集成Angular Material的使用。

  1. 安裝參考官網(wǎng)-快速上手
// 安裝 Angular Material、Angular CDK 和 Angular 動畫庫
npm install --save @angular/material @angular/cdk @angular/animations
// 手勢支持
npm install --save hammerjs
  1. 安裝完以后配置以下4個文件
// app.module.ts
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
@NgModule({
  ...
  imports: [BrowserAnimationsModule],
  ...
})

// angular.json
"styles": [
    "node_modules/@angular/material/prebuilt-themes/indigo-pink.css",
    ...
}

// index.html
<link  rel="stylesheet">

// main.ts
import 'hammerjs';
  1. 在你要顯示的頁面修改

contact.page.html

<ion-header>
  <ion-toolbar color="primary">
    <ion-title>
      Contact
    </ion-title>
  </ion-toolbar>
</ion-header>

<ion-content padding>
  <!-- <p>自定義圖標:<ion-icon name="mystar"></ion-icon></p> -->

  <mat-horizontal-stepper #stepper>
    <mat-step [stepControl]="myStepper1">
      <ng-template matStepLabel>第一步</ng-template>
      <div>
        <p>111111111111</p>
      </div>
      <div>
        <button mat-flat-button matStepperNext>下一步</button>
      </div>
    </mat-step>
    <mat-step [stepControl]="myStepper2">
      <ng-template matStepLabel>第二步</ng-template>
      <div>
        <p>22222222</p>
      </div>
      <div>
        <button mat-flat-button matStepperNext>下一步</button>
      </div>
    </mat-step>
    <mat-step [stepControl]="myStepper3">
      <ng-template matStepLabel>第三步</ng-template>
      <div>
        <p>3333333333333</p>
      </div>
      <div>
        <button mat-flat-button matStepperNext>下一步</button>
      </div>
    </mat-step>
  </mat-horizontal-stepper>

</ion-content>

contact.module.ts

import { IonicModule } from '@ionic/angular';
import { Routes, RouterModule } from '@angular/router';
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { MatButtonModule, MatStepperModule } from '@angular/material';
import { ContactPage } from './contact.page';

const routes: Routes = [
  {
    path: '',
    component: ContactPage
  }
];

@NgModule({
  imports: [
    IonicModule,
    CommonModule,
    FormsModule,
    RouterModule.forChild(routes),
    MatButtonModule,
    MatStepperModule
  ],
  declarations: [ContactPage]
})
export class ContactPageModule {}

  1. 效果圖


    1.png

ionic4開發(fā)群:670727319

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容