Angular 在何处以及如何导入MAT_LABEL_GLOBAL_选项?

Angular 在何处以及如何导入MAT_LABEL_GLOBAL_选项?,angular,angular-material2,Angular,Angular Material2,在这个示例之后,我尝试更改mat表单字段占位符的行为。有三种选择: 自动,始终和从不 该特性确实很好,可以根据开发人员想要实现哪种占位符来使用 实际上,它可以全局使用,并将其直接传递给app root的@NgModule: @NgModule({ providers: [ {provide: MAT_LABEL_GLOBAL_OPTIONS, useValue: {float: 'always'}} ] }) 并按如下方式构建视图: <mat-form-field [fl

在这个示例之后,我尝试更改
mat表单字段
占位符的行为。有三种选择:
自动
始终
从不

该特性确实很好,可以根据开发人员想要实现哪种占位符来使用

实际上,它可以全局使用,并将其直接传递给app root的
@NgModule

@NgModule({
  providers: [
    {provide: MAT_LABEL_GLOBAL_OPTIONS, useValue: {float: 'always'}}
  ]
})
并按如下方式构建视图:

<mat-form-field [floatLabel]="never"> // never, auto or always
   <input matInput placeholder="Simple placeholder" required>
</mat-form-field>

支持
MAT\u LABEL\u GLOBAL\u选项的最低材料版本为5.0.0-rc.3

因为它在以下文件中导出:,但rc.2没有此文件 找不到页面。所以试着更新到RC.3

参见5.0.0-rc.3发行说明:

表单字段:添加对单独标签和占位符(#8223)(d6fec35)的支持,关闭#6194

此功能添加了新的导出常量:
MAT\u LABEL\u GLOBAL\u选项

在Angular 9中,此功能具有:

从角度材质第9版开始,
MAT\u标签\u全局\u选项
不推荐使用注入令牌。默认的浮动标签行为 应通过
MAT\u FORM\u字段\u DEFAULT\u选项设置标记

因此,当前的方法是将
{provide:MAT\u FORM\u FIELD\u DEFAULT\u OPTIONS,useValue:{floatLabel:'always'}}
添加到模块的providers数组中

为了让它在第11章中起作用

import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';

您是否尝试过新版本的材质“^5.2.3”<代码>从“@angular/material”导入{MAT_LABEL_GLOBAL_OPTIONS}
它可以根据我的项目从材料包导入。这意味着我必须升级我的
@angular/material
,因为正如你所看到的,我确实有:
@angular/material:5.0.0-rc.2
我确信版本5.2.3可以导入它。根据源代码,5.0.0-rc.2没有导出MAT\u label\u GLOBAL\u选项的文件名
label options.ts
。因此,我认为这个版本应该使用旧的选项:MAT_PLACEHOLDER_GLOBAL_OPTIONS,看看这个提交升级到5.0.0-rc.3并尝试一下,我认为它应该可以工作了。现在我确实将我的
@angular/material
升级到
“@angular/material”:“^5.2.4”
并尝试:
从“@angular/material”导入{MAT LABEL\u GLOBAL(OPTIONS}但它仍然抛出相同的错误。看起来不错。它似乎工作得很好。我假设VisualStudio代码抛出了这个错误,可能错过了一些角度扩展。一切看起来都很好,包括编译。太好了!很高兴听到这个消息。
import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';