【问题标题】:ERROR Error: mat-form-field must contain a MatFormFieldControl.- For Drag and DropERROR 错误:mat-form-field 必须包含 MatFormFieldControl.- 用于拖放
【发布时间】:2021-04-10 12:44:28
【问题描述】:

我收到 ans 错误 - ERROR 错误:mat-form-field 必须包含 MatFormFieldControl。

不是因为缺少导入/导入,但它似乎需要一个控件并且 cdkDrop 不被视为一个字段。

请对如何在角材料中使用拖放有任何想法。或者我需要将所有组件切换到 cdk 吗?

<mat-form-field>
  <mat-label>{{ todo.somekey}}</mat-label>
  <div *ngIf="!todo.options">
    <input matInput  name="meeting" [(ngModel)]="todo.meeting[0]" placeholder="Last name, First name">
  </div>

<div *ngIf="todo.options">  
     <div cdkDropList cdkDropListOrientation="horizontal" class="example-list" (cdkDropListDropped)="drop($event)">
      <div class="example-box" name="meeting" [(ngModel)]="todo.meeting" *ngFor="let meeting of todo.meeting" cdkDrag>{{meeting}}</div>
    </div>                      
</div>              
</mat-form-field>

示例基于 - https://stackblitz.com/angular/dnnjqknrjgay?file=src%2Fapp%2Fcdk-drag-drop-horizontal-sorting-example.html

我的修复/解决方法:

我接受了使用可见性属性的建议,但必须将其添加到 mat-form 字段。实际的想法是只隐藏输入......但现在还可以

<mat-form-field [style.visibility]="this.that.length == 0 ? 'visible' : 'hidden'">
 <mat-label>{{ .... }}</mat-label>
 <div ><input matInput  ....>
</div>
</mat-form-field>

<div [style.visibility]="....length > 0 ? 'visible' : 'hidden'">
    <mat-label>{{ ... }}</mat-label>
    <div cdkDropList [cdkDropListData]="..options" cdkDropListOrientation="horizontal" class="example-list" (cdkDropListDropped)="drop($event, q)">
    <div class="example-box" *ngFor="let ..." cdkDrag>{{option}}</div>
 </div>
</div>

【问题讨论】:

    标签: angular angular-material


    【解决方案1】:

    一个 mat-FormFiled 需要一个 MatFormFieldControl(一个 mat-input 或一个输入),因为你有一个 *ngIf 你收到了这个错误

    反正我不明白 div 中的[(ngModel)]="todo.meeting"????

    注意:如果需要 matInput,您可以使用 [style.visibility]="condition?'hidden':null 而不是 *ngIf="condition"

    【讨论】:

    • 我在尝试。添加了关于为什么我在 div 中添加 ngModel 的屏幕截图。我理解“需要”的意思,但我需要拖放,因此寻求建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2021-01-30
    • 2019-05-29
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    相关资源
    最近更新 更多