垫形场内的角材料垫-滑动-切换

Kev*_*291 7 material angular

如果我在mat-form-field内有一个mat-slide-toggle,则会收到错误消息:

错误:mat-form-field必须包含MatFormFieldControl

我希望在mat-form-field内切换mat-slide,以便获得样式。任何想法为什么我会收到此错误?是mat-slide-toggle不是mat-form-field吗???

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

<mat-form-field fxFlexFill *ngSwitchCase="'mat-slide-toggle'">
    <mat-slide-toggle>{{el.text}}</mat-slide-toggle>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

pcn*_*ate 18

我根据多个答案提出了两个略有不同的技巧,没有下划线

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

在此处输入图片说明

<mat-form-field floatLabel="always" appearance="none">
  <mat-label>Override Speed</mat-label>
  <mat-slide-toggle [(ngModel)]="Override"><span class="text-invisible">Override Speed</span></mat-slide-toggle>
  <textarea matInput hidden></textarea>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)
.text-invisible {
  opacity: 0;
}
Run Code Online (Sandbox Code Playgroud)

标签在右边,没有 css

在此处输入图片说明

<mat-form-field floatLabel="always" appearance="none">
  <mat-slide-toggle [(ngModel)]="Override">Override Speed</mat-slide-toggle>
  <textarea matInput hidden></textarea>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

  • 我得到:类型“none”不能分配给类型“MatFormFieldAppearance”。 (2认同)

Ron*_*nie 6

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

<mat-form-field floatLabel="always">
        <mat-label>Label</mat-label>
        <mat-slide-toggle>Raw</mat-slide-toggle>
        <textarea matInput hidden></textarea>
    </mat-form-field>
Run Code Online (Sandbox Code Playgroud)