【问题标题】:Progress bar in angular角度进度条
【发布时间】:2019-07-18 00:32:29
【问题描述】:

我正在尝试以角度制作进度条。我开始使用 angular mmat-stepper,我的代码如下::

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {MatStepperModule, MatInputModule, MatButtonModule} from '@angular/material'
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
@NgModule({
   declarations: [
      AppComponent
   ],
   imports: [
      BrowserModule,
      BrowserAnimationsModule,
      MatStepperModule, MatInputModule, MatButtonModule,
      FormsModule,
      ReactiveFormsModule
   ],
   providers: [],
   bootstrap: [AppComponent]
})
export class AppModule { }

我的html页面::

<mat-horizontal-stepper [linear] = "isLinear" #stepper>
   <mat-step [stepControl] = "firstFormGroup">
      <form [formGroup] = "firstFormGroup">
         <ng-template matStepLabel>Enter your name</ng-template>
         <mat-form-field>
            <input matInput placeholder = "Last name, First name" formControlName = "firstCtrl" required>
         </mat-form-field>
         <div>
           <button mat-button matStepperNext>Next</button>
         </div>
      </form>
   </mat-step>
   <mat-step [stepControl] = "secondFormGroup">
      <form [formGroup] = "secondFormGroup">
         <ng-template matStepLabel>Enter your address</ng-template>
         <mat-form-field>
           <input matInput placeholder = "Address" formControlName = "secondCtrl" required>
         </mat-form-field>
         <div>
           <button mat-button matStepperPrevious>Back</button>
           <button mat-button matStepperNext>Next</button>
         </div>
      </form>
   </mat-step>
   <mat-step>
      <ng-template matStepLabel>Done</ng-template>
         Details taken.
      <div>
         <button mat-button matStepperPrevious>Back</button>
         <button mat-button (click) = "stepper.reset()">Reset</button>
      </div>
   </mat-step>
</mat-horizontal-stepper>

我的组件如下::

import { Component } from '@angular/core';
import { FormControl } from "@angular/forms";
import { FormGroup } from "@angular/forms";
import { FormBuilder } from "@angular/forms";
import { Validators } from "@angular/forms";
export interface Food {
   value: string;
   display: string;
}
@Component({
   selector: 'app-root',
   templateUrl: './app.component.html',
   styleUrls: ['./app.component.css']
})
export class AppComponent {
   title = 'materialApp';   
   firstFormGroup: FormGroup;
   secondFormGroup: FormGroup;
   constructor(private _formBuilder: FormBuilder) {}
   ngOnInit() {
      this.firstFormGroup = this._formBuilder.group({
         firstCtrl: ['', Validators.required]
      });
      this.secondFormGroup = this._formBuilder.group({
         secondCtrl: ['', Validators.required]
      });
   }
}

我得到的输出是这样的::

output_image

但我想制作如下图所示的进度条

desired_output

我怎样才能制作出所需输出图像中显示的进度条?

【问题讨论】:

    标签: angular angular-material angular6 angular7 angular8


    【解决方案1】:

    您可以通过修改材料设计中的选择器 (.mat-stepper-horizo​​ntal-line) 来做到这一点。

    将此添加到您的主要样式中。 (根据期望输出改变css)

    .mat-stepper-horizontal-line {
        border: solid black;
        border-width: 0 3px 3px 0;
        display: inline-block;
        padding: 3px;
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
    }
    

    样本输出

    对于示例代码,您可能会看到此链接: https://stackblitz.com/edit/angular-2cxlnp

    希望对你有所帮助。

    干杯!

    【讨论】:

    • 添加这个 css 后,我需要对 html 页面进行任何更改以应用这个 css 吗?
    • 不需要它会覆盖水平线选择器。只需根据您想要的布局调整它。如果你想放图片,只需在上面添加背景图片。
    • 我怎样才能在如图所示的三角形附近写出细节、甜点等步骤?
    • 我可以得到如图所示的那些大三角形来代替这些小三角形吗?
    • 哦,对不起,我以为你只需要步进器上的箭头。但无论如何,您可以在此处查看代码。 https://stackblitz.com/edit/angular-2cxlnp
    猜你喜欢
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 2017-11-16
    • 2022-10-15
    • 2017-07-27
    • 2017-04-15
    • 2020-04-30
    • 2017-10-16
    相关资源
    最近更新 更多