Angular: Material 自定义主题不适用于输入字段

标签 angular angular-material angular-material2

我有以下 Material 自定义 sass 文件:

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

$app-primary: mat-palette($mat-red, 700, 800);
$app-accent: mat-palette($mat-red, 700, 800);
$app-warn: mat-palette($mat-red, 700, 800);
$app-theme: mat-light-theme($app-primary, $app-accent, $app-warn);

$app-input-primary: mat-palette($mat-red, 100, 200);
$app-input-accent: mat-palette($mat-red, 100, 200);
$app-input: mat-light-theme($app-input-primary, $app-input-accent);


@include mat-core-theme($app-theme);
@include mat-checkbox-theme($app-theme);
@include mat-radio-theme($app-theme);
@include mat-input-theme($app-theme);

样式正确应用于复选框和单选框,但不适用于输入字段。

这是我定义输入字段的方式:

<md-form-field>
    <input mdInput placeholder="Card holder name">
</md-form-field>

下图显示红色样式应用于单选,但输入丢失样式

如果我用单行 @include angular-material-theme($app-theme); 更改分解包含,红色样式适用于输入,但我的想法是输入字段有不同的调色板。

最佳答案

输入字段是 <md-form-field> 的一部分.在您的自定义 sass 文件中添加以下内容:

@include mat-form-field-theme($app-theme); // Form-Field theme
@include mat-input-theme($app-theme);      // Input Theme

关于Angular: Material 自定义主题不适用于输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46400758/

相关文章:

javascript - 将可观察对象的一部分作为输入传递给 Angular 分量时出错?

javascript - 如何使用 Material Angular 在导航栏上做下拉元素

javascript - 无法使用 Material 选项卡

css - 如何在 cdk-virtual-scroll-viewport 填充其余高度时始终保持工具栏位于顶部?

angular - 如何更改 Material 2日期选择器的输出格式

javascript - 使用 moment.js 生成进入第二天的 30 分钟时间段

javascript - Angular 4过滤器搜索自定义管道

angular - 如何从 typescript 中的绝对类型访问这些功能?

angular-material - Angular Material:如何设置背景色(无CSS)

angular - 模板解析错误 : 'md-form-field' is not a known element