如何更改Angular 5 Material输入占位符?

Fir*_*Inc 13 angular-material angular

如何更改角度/材质输入占位符上的占位符颜色?

<mat-form-field>
    <input matInput placeholder="Name">
  </mat-form-field>
Run Code Online (Sandbox Code Playgroud)

Wen*_*ari 19

在最后一个版本的angular中,您可以删除输入中的占位符,并在mat-form-field中添加mat-placeholder并使用类自定义css

HTML:

<mat-form-field>
    <input matInput type="text">
    <mat-placeholder class="placeholder">Search</mat-placeholder>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

CSS:

.mat-focused .placeholder {
    color: #00D318;
}
Run Code Online (Sandbox Code Playgroud)

  • 这应该是Angular Material 6及更高版本的真正MVP。我做了选择的答案,但它什么也没做,::: placeholder和所有旧方法。我在Angular7.0.0上使用Material 6.4.7,并且可以立即使用。谢谢 (3认同)
  • 注意:如果您尝试在同一表单字段中显示“mat-label”和“mat-placeholder”,则此解决方案在最新版本的 Angular Material (v9.2.3) 中不起作用。 (2认同)

moh*_*rim 16

若要更改占位符的颜色,请覆盖.mat-form-field-placeholder的color属性,如:

::ng-deep .mat-form-field-placeholder{

  color:red;
}

::ng-deep .mat-focused .mat-form-field-placeholder{

  color:red;
}
Run Code Online (Sandbox Code Playgroud)

要更改下划线的颜色:

::ng-deep .mat-form-field-underline .mat-form-field-ripple{

  background-color:red;
}

::ng-deep .mat-form-field-underline{

  background-color:red;
}
Run Code Online (Sandbox Code Playgroud)

这很完美.演示:https://plnkr.co/edit/yF4kXJ500YzefLOnLKNe?p = preview

  • Mat 6的语法是什么? (4认同)

jay*_*eni 13

我正在使用有角度的材料 8.2.3 并且上述解决方案都不适用于我,并且在 theme.scss(材料主题文件)中有以下内容对我有用

.mat-input-element::placeholder{
   color: red;
}
Run Code Online (Sandbox Code Playgroud)

与穿孔相反,以下应该适用于组件样式

::ng-deep .mat-input-element::placeholder{
    color: red;
}
Run Code Online (Sandbox Code Playgroud)


Sha*_*got 5

在使用最新的角度为6的角材料时,我从上面找不到任何答案。

这是工作解决方案

::ng-deep .mat-form-field-label{
    color:#000 !important;
}
Run Code Online (Sandbox Code Playgroud)