Angular 9 - 删除 Angular Material Stepper 上的默认图标(创建)

2024-01-11

我在 Angular 中遇到了这个恼人的问题:我通过添加到provides页面的:

provide: STEPPER_GLOBAL_OPTIONS, useValue: {displayDefaultIndicatorType: false, showError: true}

这是 HTML 页面(只是一小部分,有 7 个元素复制/粘贴):

<mat-horizontal-stepper>

  <!-- AREA -->
  <mat-step label="Step 1" state="area">
    <p>Put down your phones</p>
    <div>
      <button mat-button matStepperNext>Next</button>
    </div>
  </mat-step>

  <!-- QUESTION -->
  <mat-step label="Step 2" state="question">
    <p>Socialize with each other</p>
    <div>
      <button mat-button matStepperPrevious>Back</button>
      <button mat-button matStepperNext>Next</button>
    </div>
  </mat-step>

  <!-- MODE -->
  <mat-step label="Step 3" state="mode">
    <p>Socialize with each other</p>
    <div>
      <button mat-button matStepperPrevious>Back</button>
      <button mat-button matStepperNext>Next</button>
    </div>
  </mat-step>

...

<!-- Icon overrides -->
  <!-- AREA -->
  <ng-template matStepperIcon="area">
    <mat-icon>gavel</mat-icon>
  </ng-template>

  <!-- QUESTION -->
  <ng-template matStepperIcon="question">
    <mat-icon>contact_support</mat-icon>
  </ng-template>

  <!-- MODE -->
  <ng-template matStepperIcon="mode">
    <mat-icon>forum</mat-icon>
  </ng-template>
...

正如你所看到的,这只是你可以在 Angular 9 上找到的示例文档 https://material.angular.io/components/stepper/overview#step-states

好了,现在我用几张图片来介绍一下这个问题:

只要看看圆圈,他们应该有自己的图标(木槌、constact_support、论坛)。但是,当我执行其中一个步骤时,它会将图标替换为另一个图标,准确地说是创建图标.

现在,如果我回到第二步,在圆圈中生成正确的图标,而不会出现这种烦人的覆盖:

我已经尝试过:

  1. Set [completed]=false on <mat-step>组件,但它只是删除了前面圆圈中的复选图标
  2. 覆盖图标:
<ng-template matStepperIcon="edit">
  <mat-icon>gavel</mat-icon>
</ng-template>

但它没有用,因为它只是覆盖了图标,所以问题仍然存在。我也曾尝试离开<mat-icon></mat-icon>空的,但当然它只是在圆圈中留下一个空白图标。

我想要实现的是绕过这种“自动覆盖”。任何想法?


here https://stackoverflow.com/questions/51214275/angular-material-stepper-next-step-showing-create-instead-of-1/51214426是适合我的解决方案

<mat-horizontal-stepper #stepper>
    <mat-step label="Information">...</mat-step>
    <mat-step label="Groups">...</mat-step>
    <mat-step label="Validate">...</mat-step>
    <ng-template matStepperIcon="number" let-index="index">
        <mat-icon>{{index === 0 ? 'perm_contact_calendar' : index === 1 ? 'group' : 'done'}}</mat-icon>
    </ng-template>
</mat-horizontal-stepper>
@Component({
  selector: 'app-stepper-component',
  templateUrl: './stepper.component.html',
  styleUrls: ['./stepper.component.scss']
})
export class StepperComponent implements AfterViewInit {
  @ViewChild('stepper') stepper: MatHorizontalStepper;
  ngAfterViewInit() {
    this.stepper._getIndicatorType = () => STEP_STATE.NUMBER;
  }
}

或者,覆盖两者matStepperIcon="number" and matStepperIcon="edit":

<mat-horizontal-stepper>
    <mat-step label="Information">...</mat-step>
    <mat-step label="Groups">...</mat-step>
    <mat-step label="Validate">...</mat-step>

    <ng-template matStepperIcon="number" let-index="index">
        <mat-icon>{{index === 0 ? 'perm_contact_calendar' : index === 1 ? 'group' : 'done'}}</mat-icon>
    </ng-template>
    <ng-template matStepperIcon="edit" let-index="index">
        <mat-icon>{{index === 0 ? 'perm_contact_calendar' : index === 1 ? 'group' : 'done'}}</mat-icon>
    </ng-template>
</mat-horizontal-stepper>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 9 - 删除 Angular Material Stepper 上的默认图标(创建) 的相关文章

随机推荐

  • 用于查找一组字符串中最长公共起始子字符串的 R 实现

    这个问题只是要求在 R 中实现以下问题 查找一组字符串中最长的公共起始子串 https stackoverflow com questions 1916218 find the longest common starting substri
  • 如何防止 Visual Studio 自动完成功能覆盖下一个单词

    我在 Visual Studio 中遇到一个非常烦人的问题 我的版本是 2010 我安装了 ReSharper 和 VsVim 但我认为这并不重要 当我在某些现有代码开头的某些代码之前添加文本时 自动完成功能喜欢覆盖某些现有代码 以这个示例
  • 当数据类型为数字时,如何对谷歌图X轴进行排序

    我有一个数据表 第一列是 1 到 48 范围内的数字 Step Pct 1 0 2 0 3 0 4 35 5 45 6 55 7 60 我的代码如下所示 Grid Table is my html table containing the
  • 如何删除超过 (n) 天的文件,但保留 (n) 个文件,无论其年龄如何?

    我用 PHP 编写了以下内容 但我想知道是否有一种优雅的方法可以在 Linux shell 脚本中执行此操作 基本上删除超过 n 天的文件 但保留 n 最新的文件 无论其年龄如何 PHP foreach glob backup db as
  • MySQL - SELECT + JOIN + ORDER BY 性能

    我有两个表 我需要从两个表中选择一些连接的数据 SELECT f FROM file data f JOIN subscriptions s ON f uid s elementid WHERE s uid 119762 AND f pri
  • FFMPEG 套件 iOS 异步调用未异步运行

    当我打电话给executeAsync的方法FFmpegKit我期望异步行为 但代码会运行但从不等待FFmpegKit executeAsync运行 因此 程序输出来自print FFmpeg process exited with stat
  • 将值添加到数据框的所有行

    我有两个熊猫数据框df1 长度为 2 和df2 长度约 30 行 df1 的索引值始终不同 并且不会出现在 df2 中 我想添加来自的列的平均值df1到相应的列df2 示例 将 0 6 添加到 c1 的所有行 将 0 9 添加到 c2 的所
  • 获取 Data.ByteString.Builder 的长度

    我有一个函数tabulate它接受一个对象列表以及将这些对象的字段转换为函数的列表Builders 它返回一个Builder代表一个格式良好的表格 例如 tabulate a gt Builder gt a gt Builder tabul
  • Android Studio 将 2 个 .aar 合二为一

    我有一个 Android Studio 库项目 它依赖于另一个库项目 顶级项目依赖于第二个库项目的代码和资源 当在客户端应用程序中仅使用顶级库项目 aar 时 找不到第二个库项目中的资源 那么在这种情况下我们是否必须始终使用 2 个 aar
  • 使用 PDO 与 Postgresql 连接速度慢

    我正在使用 php7 4 fpm 连接到 PostgreSQL 12 3 Ubuntu 12 3 1 pgdg18 04 1 当我使用 pgadmin4 时 查询在 129 毫秒内执行 结果立即显示在屏幕上 在 php 上执行相同的查询大约
  • Java android AsyncHttpClient 如何设置标头“Accept”“application/xml”或“application/json”

    我不知道如何为 applicatjon json 设置标头 Accept 现在我来自服务器的响应是 xml 但我想要一个 json 当我设置标头时 服务器应该向我发送一个 xml 这是我的代码 final JSONObject reques
  • WPF:动态视图/内容

    我是 WPF 的初学者 所以我问这个 假设我有一个窗口 在窗口内我想要有一些类似容器的东西 可以只是边框 也可以是面板 用 winform 术语来说 容器的内容绑定到所选选项 例如 按钮 因此 例如 当用户选择选项 1 时 容器显示图表 当
  • 做像 Twitter、Hash-Bang #! 这样的链接网址[重复]

    这个问题在这里已经有答案了 可能的重复 Facebook 和新 Twitter URL 中的 shebang hashbang 有何用途 https stackoverflow com questions 3009380 whats the
  • Django表单和html表单有什么区别

    我正在基于 html 表单提交方法来处理我的 django 项目 但最近 我开始知道存在 django 形式 请让我知道它们之间有什么区别 在 Django 中编写表单最终会生成 HTML 表单 Django 表单可以绑定到一个模型 然后该
  • mysql 中的平均时间差

    在我的sql中是否有一个函数可以查找标准时间格式的平均时间差 您可以使用timestampdiff http dev mysql com doc refman 5 1 en date and time functions html func
  • 变量声明与定义

    我正在阅读一些关于外部人员的信息 现在作者开始提到变量的声明和定义 通过声明 他提到了以下情况 如果声明了一个变量 没有为其分配空间 现在这让我感到困惑 因为我认为MOST时代的 当我在 C 中使用变量时 我实际上是在定义和声明它们 对吗
  • 如何使用 Firebase 创建好友列表? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在网上研究如何使用 firebase 创建朋友列表系统 到目前为止 我运气不佳 获得的资源并不完全是我想要的 该应用程序的前提是
  • 无法从 LinkedIn 应用程序获取访问令牌。它在 onActivityResult 中返回 null

    我正在使用 linkedIn android sdk 登录应用程序 但无法获取访问令牌 void startAutheniticate LISessionManager getInstance getApplicationContext i
  • 使用 64 位 llvm-gcc 构建 32 位

    我有 64 位版本的 llvm gcc 但我希望能够构建 32 位和 64 位二进制文 件 有这个标志吗 我尝试传递 m32 适用于常规 gcc 但收到如下错误消息 jay andesite llvm gcc m32 test c o te
  • Angular 9 - 删除 Angular Material Stepper 上的默认图标(创建)

    我在 Angular 中遇到了这个恼人的问题 我通过添加到provides页面的 provide STEPPER GLOBAL OPTIONS useValue displayDefaultIndicatorType false showE