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

使用材质设计按钮创建HTML

祁柏
2023-03-14

尝试为密码显示/隐藏功能创建角度指令。“显示/隐藏”可以工作,但是当尝试使用材质设计(mat)按钮时,它不会显示mat按钮,而是显示默认的html按钮。在我的指令中

  toggle(span: HTMLElement) {
    this._shown = !this._shown;
    if (this._shown) {
      this.el.nativeElement.setAttribute('type', 'text');
      span.innerHTML = '<button mat-raised-button color="primary">Hide</button>';
    } else {
      this.el.nativeElement.setAttribute('type', 'password');
      span.innerHTML = '<button mat-raised-button color="primary">Show</button>';
    }
  }

在应用程序中。组成部分html我确实有一些按钮作为测试,所以我知道mat正在工作。

<div>
  <button mat-raised-button>basic</button>
  <button mat-raised-button color="primary">primary</button>
</div>
<div>
  <label>Enter Password</label>
  <input type="password" appPassword>
</div>

我的问题是使用一个使用innerHTML的指令如何让材质设计按钮工作?

谢谢

共有1个答案

鞠晋
2023-03-14

您不必为此使用指令,您可以使用Angular的本机代码来实现这一点。大概是这样的:

 <mat-form-field>
    <input matInput placeholder="Enter your password" [type]="hide ? 'password' : 'text'">
    <button mat-icon-button matSuffix (click)="hide = !hide" [attr.aria-label]="'Hide password'" [attr.aria-pressed]="hide">
    <mat-icon>{{hide ? 'visibility_off' : 'visibility'}}</mat-icon>
    </button>
  </mat-form-field>

检查Angular的文档:
https://material.angular.io/components/form-field/overview#prefix-amp-suffix

 类似资料:
  • 如何实现谷歌材料设计指南中描述的“凸起按钮”和“扁平按钮”? 凸起的按钮为大多数平面布局增加了维度。他们强调 在工具栏和对话框中使用平面按钮,以避免过度分层。 资料来源:http://www.google.com/design/spec/components/buttons.html

  • 我对材料设计的纽扣样式感到困惑。我想要得到彩色凸起的按钮,像在附加的链接。,像“强制停止”和“卸载”按钮下看到的用法部分。是否有可用的样式或我需要定义它们? http://www.google.com/design/spec/components/buttons.html#按钮-用法 我找不到默认按钮样式。 示例: 如果我尝试通过添加 所有的样式都消失了,如触摸动画,阴影,圆角等。

  • 创建和使用材质 通过主菜单 Assets->Create->Material 或项目视图的上下文菜单,可以创建一个新材质。 默认情况下,新建材质会分配标准着色器,并且所有属性都空着,就像这样: 一旦材质被创建,你就可以把它应用到一个对象,并且在 检视视图 中修改它的所有属性。想把材质应用到一个对象上,只需要把材质从 项目视图 拖动到 场景是图 或 层级视图 中的任意对象上。 设置材质属性 你可以为

  • 如何使用材质设计将按钮放置在图中所示的位置? 这是index.html模板上的代码。 这是材质设计的css样式。 Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eusmod tempor incidunt ut labore et dolore magna aliqua.Ut enim ad minim veniam,

  • 我正在开发一个应用程序,它将有一个非常类似的界面,我的问题是,所有的动画都来自于材料设计,但我是否必须对所有这些东西进行编程,或者android是否有用于材料设计的动画库来实现这一点?