Angular 角材质垫滑动切换在垫形式字段内

Angular 角材质垫滑动切换在垫形式字段内,angular,angular-material,Angular,Angular Material,如果在mat form字段中有mat滑动切换,则会出现错误: 错误:mat form字段必须包含MatFormFieldControl 我希望我的垫子滑动开关在我的垫子窗体字段中,这样我就可以得到样式。知道我为什么会犯这个错误吗? 垫子滑动开关不是垫子窗体字段吗 以下是我目前拥有的一个示例: <mat-form-field fxFlexFill *ngSwitchCase="'mat-slide-toggle'"> <mat-slide-toggle>{{el.t

如果在mat form字段中有mat滑动切换,则会出现错误:

错误:mat form字段必须包含MatFormFieldControl

我希望我的垫子滑动开关在我的垫子窗体字段中,这样我就可以得到样式。知道我为什么会犯这个错误吗? 垫子滑动开关不是垫子窗体字段吗

以下是我目前拥有的一个示例:

<mat-form-field fxFlexFill *ngSwitchCase="'mat-slide-toggle'">
    <mat-slide-toggle>{{el.text}}</mat-slide-toggle>
</mat-form-field>

{{el.text}}

不幸的是,当垫子滑动开关位于垫子表单字段内时,垫子表单字段不起作用。我必须自己找到答案

请尝试以下方法:

<div fxFlexFill *ngSwitchCase="'mat-slide-toggle'">
    <mat-slide-toggle>{{el.text}}</mat-slide-toggle>
</div>

{{el.text}}

根据官方文件,您不能这样做()

以下角材质组件设计用于内部工作 a

  • &

但是,您可以在mat form字段中放置一个隐藏的文本字段以满足要求,如果您希望获得与其他字段相同的外观,还可以在必要时将所有值绑定在一起

<mat-form-field floatLabel="always">
        <mat-label>Label</mat-label>
        <mat-slide-toggle>Raw</mat-slide-toggle>
        <textarea matInput hidden></textarea>
    </mat-form-field>

标签
未经加工的

尝试添加隐藏的输入字段

<mat-form-field>
  <mat-slide-toggle class="example-margin" [color]="color" [checked]="checked"
    [disabled]="disabled">
    Cumulative
  </mat-slide-toggle>
  <input matInput #value hidden />
</mat-form-field>

累计的

基于多个答案,我提出了两种稍有不同的无下划线的破解方法

上面的标签带有扩展的可点击空白,使用css


超越速度
超越速度
。文本不可见{
不透明度:0;
}
标签在右边,没有css


超越速度

哎哟,听起来好像垫子滑动开关不可能放在垫子表单字段内。。。这不太好。stackblitz显示了垫子表单字段外的滑块section@SouravDutta你的例子都不能回答op的问题。请仔细阅读。这根本不是真的,你可以添加一个隐藏的输入字段
,这样做时如何去掉下划线?@Robert可以通过css,也可以通过将表单字段的
[外观]
输入设置为无效值,如
。这样,下划线的css样式就不会被应用(如中所示)执行此操作时,如何去除下划线?@Robert add
appearance=“none”
@Robert I used
.mat表单字段underline{display:none;}
在@angular/forms:@BilalDjaghout
下查看此链接。
用于文本字段<代码>不是文本字段。这正是我要找的。非常感谢。