angular - 名称为“startTime”和“endTime”的表单控件没有值访问器
问题描述
app.module 有
import { TimepickerModule, TimepickerConfig } from 'ngx-bootstrap/timepicker';
import { getTimepickerConfig } from './TimepickerConfig';
imports: [
BsDatepickerModule.forRoot(),
TimepickerModule.forRoot(),
],
providers: [
{ provide: TimepickerConfig, useFactory: getTimepickerConfig }
]
HTML
<form [formGroup]="addProjectForm">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label>Start Time</label>
<timepicker formControlName="startTime" ></timepicker>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>End Time</label>
<timepicker formControlName="endTime" ></timepicker>
</div>
</div>
</div>
ts
this.addProjectForm = this.formBuilder.group({
startTime:[Date, [Validators.required]],
endTime:["", [Validators.required]]
});
this.startTime = new Date();
解决方案
看起来FormsModule
和 ReactiveFormsModule`
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { TimepickerModule, TimepickerConfig } from 'ngx-bootstrap/timepicker';
import { getTimepickerConfig } from './TimepickerConfig';
imports: [
BsDatepickerModule.forRoot(),
TimepickerModule.forRoot(),
FormsModule,
ReactiveFormsModule,
],
通常,错误No value accessor for form control ...
意味着与响应式表单指令(例如formControlName
,formControl
)一起使用的组件不知道如何处理响应式表单指令。
推荐阅读
- python - 如何在熊猫中创建一列 ceil 日期
- ios - addGestureRecognizer 不触发 swift4 中的 if 语句
- r - 创建 t 检验并使用闪亮从 csv 获取 p 值
- android - 如何使用 Fabric crashlytics 中的本机 API?
- python - 如何替换txt文件中一列中的多列
- mysql - SQL 新手 - 使用索引加快速度
- reactjs - 我无法让我的 React UI 包在不构建的情况下自动编译 javascript
- kubernetes - 尝试在启用了 sidecar 的 pod 之间卷曲时从特使那里获得 403 Forbidden
- c# - 使用 C# 将制表符分隔的文本文件中的 HTML 读取为字符串
- javascript - 在 Angular 和 Ionic 应用程序中使用 async/await 的正确方法