当前位置: 首页 > 知识库问答 >
问题:

如何更改角度材质步进器步进图标的颜色

南门宇
2023-03-14

共有3个答案

谢夜洛
2023-03-14
error = true;
    .preenchimento-incompleto {
      background-color: black !important;
    }

    .preenchimento-ok {
      background-color: greenyellow !important;
    }
<mat-step  id="idDadosPessoaisFormGroup5" name="idDadosPessoaisFormGroup5" [ngClass]="error ? 'preenchimento-incompleto' : 'preenchimento-incompleto'" [stepControl]="dadosPessoaisFormGroup">
        <form [formGroup]="dadosPessoaisFormGroup">
          <ng-template matStepLabel>DADOS<br> PESSOAIS</ng-template>
          <app-dados-pessoais [container]="stepper"></app-dados-pessoais>
        </form>
      </mat-step>
施海
2023-03-14

当然,您可以使用自己的CSS并自定义背景

有几个SCSS,这是我的步进器的外观:我在下面添加了自定义标签和图标所需的SASS代码段:

.mat-step-header .mat-step-icon-state-done, .mat-step-header .mat-step-icon-state-edit {
  background-color: transparent !important;
  color: $success;
  +.mat-step-label{
    color: $success !important;
  }
}
.mat-step-header .mat-step-icon-selected{
  // background-color: $primary;
  background-color: transparent !important;
  color: $primary;
  +.mat-step-label{
    color: $primary !important;
  }
}

Todo/默认步骤

.mat-step-header .mat-step-label{
    color: rgba(0, 0, 0, .54)
}
.mat-step-header .mat-step-icon {
    color: rgba(0, 0, 0, .54);
    background-color: transparent;
}

用于覆盖默认图标的HTML:我使用了字体很棒的图标来覆盖默认图标:

<mat-horizontal-stepper>
    <!-- Icon overrides. -->
    <ng-template matStepperIcon="edit">
        <i class="fa fa-check-circle"></i>
    </ng-template>
    <ng-template matStepperIcon="active">
        <i class="fa fa-dot-circle-o"></i>
    </ng-template>
    <ng-template matStepperIcon="done">
        <i class="fa fa-dot-circle-o"></i>
    </ng-template>
    <ng-template matStepperIcon="number">
        <i class="fa fa-dot-circle-o"></i>
    </ng-template>
</mat-horizontal-stepper>

注意:所有SCS都应该在全局样式表中,而不是在特定于组件的样式表中。如果样式存在于角度组件的文件中,则由于视图封装,将不会应用该样式。

$success:       #35A255 !default;
$primary:       #007CBB !default;
丘学海
2023-03-14

似乎并没有改变垫子步进器图标颜色的选项,您可以使用此css作为解决方案。

 ::ng-deep .mat-step-header .mat-step-icon-selected {
    background-color: red; 
 }

* ng-deep已弃用,可以删除,也可以使用

视图封装。组件修饰符中无,以避免使用::ng deep

更新问题的解决方案

html文件示例

 <div class="yellow-theme"> <----- wrapper theme class
     <button mat-raised-button (click)="isLinear = !isLinear" id="toggle- 
      linear">
            {{!isLinear ? 'Enable linear mode' : 'Disable linear mode'}}
          </button>
          <mat-horizontal-stepper [linear]="isLinear" #stepper>
            <mat-step [stepControl]="firstFormGroup">
              <form [formGroup]="firstFormGroup">
                <ng-template matStepLabel>Fill out 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>Fill out 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>
              You are now done.
              <div>
                <button mat-button matStepperPrevious>Back</button>
                <button mat-button (click)="stepper.reset()">Reset</button>
              </div>
            </mat-step>
          </mat-horizontal-stepper>
 "styles": [
          "src/styles.css",
          "src/theme.scss"
           ]

注意步进器将采用原色的颜色

theme.scss

 @import '~@angular/material/theming';
 @include mat-core();

 .yellow-theme {
     $yellow-theme-primary: mat-palette($mat-yellow, 400);
     $yellow-theme-accent:  mat-palette($mat-yellow, 400);

     $yellow-theme: mat-light-theme($yellow-theme-primary, $yellow-theme-accent);

     @include angular-material-theme($yellow-theme);
 }

自定义主题类可以跨应用程序使用,只需包装任何材料组件,并使用类中定义的颜色属性primary、accent或warn。包装在自定义类中的组件将使用该颜色,如果颜色不是从全局主题中设置的。

 类似资料:
  • 我正在使用预构建的紫绿色角材料预构建主题与.css。我想用一个白色的背景,但似乎不能改变从深灰色的背景。我尝试在index.html的body标记中删除class=“mat-app-background”,但没有影响。是否需要移动到.scss才能进行此更改? 谢谢 皮特

  • > 到目前为止,我使用角2快速入门创建了一个新项目。 我决定开始使用angular 2 cli,并创建了一个新的angular 2 cli项目。 移动了我的所有文件并重新安装了所有软件包。 现在,当我试图在CLI项目中使用角2材料时,我遵循了这里的指南,但这是我得到的: 会出什么问题?

  • 我们希望,之前的章节对于如何构建一个 Meteor 应用,给了你一个良好的概述。但是,现在还要去哪里学习呢? 额外章节 首先,如果你还没有购买本书的话,可以购买 Full 或 Premium 版本来阅读本书额外的章节。这些章节将引导你深入真实场景,比如为应用建立 API,与第三方服务集成并迁移数据。 Meteor 手册 除了官方 文档,Meteor 手册 挖掘了更深度的特定主题,比如 Tracke

  • 问题内容: 该和不改变自己的价值,方法结束时才。 问题答案: 您正在阻止事件分发线程,这将阻止它更新UI。您可以使用,但Swing是单线程API,这意味着只能从事件分配线程的上下文中对UI进行更新。 您可以使用,这将允许您在后台线程中执行长时间运行的过程,但是它支持将更新安全地同步到UI。 加之其与支持,就很容易进行管理,例如。 “进度窗格” 您可以在EDT中使用/ 支持和更新EDT,支持或工作人

  • 我已经将我的SDK更新为API 21,现在备份/备份图标是一个指向左侧的黑色箭头。 我想要灰色的。我该怎么做? 例如,在Play Store中,箭头为白色。 我这样做是为了设定一些风格。我使用了作为