angular - Angular Material DatePicker -- 错误:mat-form-field 必须包含 MatFormFieldControl
问题描述
我想添加一个日期选择器来选择一个日期范围。
应用模块
MatFormFieldModule,
MatDatepickerModule,
MatInputModule,
形式
<mat-form-field appearance="fill">
<mat-label>Enter a date range</mat-label>
<mat-date-range-input [rangePicker]="picker">
<input matStartDate placeholder="Start date" #arrival>
<input matEndDate placeholder="End date" #departure>
</mat-date-range-input>
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-date-range-picker #picker></mat-date-range-picker>
</mat-form-field>
但我收到以下错误:
ERROR Error: mat-form-field must contain a MatFormFieldControl.
解决方案
Angular Material 文档提供了以下错误描述:
错误:mat-form-field 必须包含 MatFormFieldControl
当您尚未将表单域控件添加到表单域时,会发生此错误。如果您的表单字段包含本机
<input>
或<textarea>
元素,请确保您已将matInput
指令添加到其中并已导入MatInputModule
. 可以充当表单域控件的其他组件包括<mat-select>
、<mat-chip-list>
和您创建的任何自定义表单域控件。
该matInput
指令需要添加到<input>
元素中。
要使用两个日期选择器选择日期范围,请将每个日期选择器放在其自己的mat-form-field
. 请参阅 Angular 示例Datepicker 调色板颜色
例子
<mat-form-field class="example-full-width" appearance="fill">
<mat-label>Enter a date range</mat-label>
<input matInput [matDatepicker]="picker">
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
推荐阅读
- python - 如何修复“UnicodeEncodeError:'charmap'编解码器无法编码”?
- c - C - 大端结构与小端结构相互转换
- hyperledger-fabric - Hyperledger Fabric 事件存储在哪里?
- firebase - 将值从一个节点检索到另一个节点
- java - 尝试填充新数组后二元运算符“+”的操作数类型错误
- python - 只用 pandas 获取每组的第一行和最后一行
- c# - OpenXML-InnerText 始终是整数而不是字符串
- moodle - 自定义 Moodle
- php - html_entity_decode 并非所有实体都转换回来
- r - 让所有标签和箭头可读且分布均匀