我想按照本指南实现一个角度材质自定义表单字段:https://material.angular.io/guide/creating-a-custom-form-field-control
但我一直有这样的错误:错误:mat表单字段必须包含MatFormFieldControl。
根据文件:
如果没有将表单字段控件添加到表单字段,则会出现此错误。如果表单字段包含本机或元素,请确保已向其添加matInput指令,并已导入MatInputMoules。可以充当窗体字段控件的其他组件包括,以及您创建的任何自定义窗体字段控件。
但是向标记添加一个matInput指令并不会改变任何事情。这就像是瞎子一样,因为标签嵌入了这个新组件
mat表单字段:
<mat-form-field>
<example-tel-input placeholder="Phone number" required></example-tel-input>
<mat-icon matSuffix>phone</mat-icon>
<mat-hint>Include area code</mat-hint>
</mat-form-field>
具有输入的组件:
<div [formGroup]="parts" class="example-tel-input-container">
<input class="example-tel-input-element" formControlName="area" size="3" aria-label="Area code" (input)="_handleInput()">
<span class="example-tel-input-spacer">–</span>
<input class="example-tel-input-element" formControlName="exchange" size="3" aria-label="Exchange code" (input)="_handleInput()">
<span class="example-tel-input-spacer">–</span>
<input class="example-tel-input-element" formControlName="subscriber" size="4" aria-label="Subscriber number" (input)="_handleInput()">
</div>
闪电战:https://stackblitz.com/edit/angular-9fyeha
我错过了什么?
我在你的form-field-custom-control-example.component
中添加了隐藏输入,它起作用了。
<mat-form-field>
<input matInput style="display:none">
<example-tel-input placeholder="Phone number" required></example-tel-input>
<mat-icon matSuffix>phone</mat-icon>
<mat-hint>Include area code</mat-hint>
</mat-form-field>
留档也没有提到你应该从相同的入口点导入材料类
应用程序。单元ts
import {
MatIconModule,
MatFormFieldModule, // it's redundant here since MatInputModule already exports it
MatInputModule,
MatSelectModule
} from "@angular/material";
example-tel-input-example.component.ts
import { MatFormFieldControl } from '@angular/material';
或
应用程序。单元ts
import { MatSelectModule } from "@angular/material/select";
import { MatIconModule } from "@angular/material/icon";
import { MatInputModule } from "@angular/material/input";
example-tel-input-example.component.ts
import { MatFormFieldControl } from '@angular/material/form-field';
分岔闪电战
因为为了得到嵌套的表单控件Angular材质使用@ContentChilder(MatFormFieldControl)
装饰器和MatFormFieldControl
类应该来自同一个包,否则instanceof
将返回false
我们正试图在我们公司建立我们自己的表单-字段-组件。我们试图这样包装材料设计的组成部分: 字段: 文本框: 用法: 这大致会导致以下结果: 但是我在控制台中得到“mat-form-field必须包含一个MatFormFieldControl”。我想这与不直接包含matInput-field的mat-form-field有关。但它包含它,它只是在ng内容投影中。 这是一场闪电战:https://st
我正在处理Angular表单,我试图验证一个反应性表单。对于模板,我在项目中使用材料设计, 我在文本框中输入条件ngIf进行验证时出错 错误是-: ERROR错误:mat-form-field必须包含一个MatFormFieldControl。 请看-: 为了消除这个问题,我已经在文件2中导入了module.ts的MatInputMoules。已添加您必须将matInput添加到输入 但还是出现了
如何制作一个材料自定义表单字段控件(像这样的)来支持表单验证,并用mat-error显示它们?我知道常规的matInput指令使用错误StateMatcher(doc),但我不明白如何将其与自定义表单字段链接。
对于角度材质,我很难覆盖css。mat form field隐藏占位符类,该类在输入不聚焦时自动添加到父mat form field标记。目标是始终显示占位符。 代码如下所示:
我需要在Cms后端表单(fields.yaml)中创建一个多选表单字段。我采用了以下方法 选择_字段: 此字段的选项将从模型中调用 一切正常,但当我提交表单时,只有第一个选择的选项作为JSON数据插入到数据库表文本字段中。我希望存储每个选定的选项。我也在模型中声明该字段为Jsonable,即受保护的$Jsonable=['field_name']; 注意:当我使用类型作为检查框列表时,它像我想的那
主要内容:PHP - 必需字段,PHP - 显示错误信息本章节我们将介绍如何设置表单必需字段及错误信息。 PHP - 必需字段 在上一章节我们已经介绍了表的验证规则,我们可以看到"名字", "E-mail", 和 "性别" 字段是必需的,各字段不能为空。 字段 验证规则 名字 必需。 + 只能包含字母和空格 E-mail 必需。 + 必需包含一个有效的电子邮件地址(包含"@"和".") 网址 可选。 如果存在,它必需包含一个有效的URL 备注 可选。多