美文网首页Ionic之路
ionic4开发——集成Angular Material之步骤条

ionic4开发——集成Angular Material之步骤条

作者: 漂泊猫 | 来源:发表于2018-10-17 18:58 被阅读4次

    步骤条是个很常用的组件,最开始是我自己写,插件没写成倒写了一坨x,后来在群里有位大佬看见了我的需求,他开始写了一个ionic2+的插件(HsuanXyz/ionic-stepper)对我帮助很大,非常感谢;后来出现了NG-ZORRO的steps,我试过之后发现每一步嵌入form表单提交很不好处理;再后来又发现Angular Material的进步器,每一步都是单独的按钮,对表单提交互不影响;将来NG-ZORRO-MOBILE可能更适合,但是目前(2018-10-17)我试过之后点都点不动。

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

    1. 安装参考官网-快速上手
    // 安装 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 href="https://fonts.googleapis.com/icon?family=Material+Icons" 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开发群:670727319

    相关文章

      网友评论

        本文标题:ionic4开发——集成Angular Material之步骤条

        本文链接:https://www.haomeiwen.com/subject/cwirzftx.html