“没有针对名称为的表单控件的值访问器”的问题。

5
我正在为我在子父通信中遇到的问题准备一个 stackblitz,但是在此过程中,我遇到了另一个问题,即我收到以下错误:No value accessor for form control with name: 'endDateFC'。这也发生在startDateFC上。
我尝试了来自 SO 的以下方法:
  1. 我添加了 ReactiveFormsModuleFormsModule
  2. 我删除了 FormsModule 的重复项。我只在 app.modules.ts 中导入。
根据:No value accessor for form control
  1. 我没有混合标签和输入。没有名称冲突。
  2. 我有所有的声明、导入等。
  3. formControlName 位于值访问器元素上
我的代码有什么问题? 这里是 stackblitz:https://stackblitz.com/edit/primeng-calendar-v-zdd3of?file=src/app/postpone-dialog/postpone-dialog.component.ts
3个回答

10

8
如果你实现了ControlValueAccessor,但仍然收到错误信息"No value accessor for form control with name",则不要添加ngDefaultControl,而应该把缺少的提供者添加到你的@Component()中,就像这样:
providers: [
  { 
    provide: NG_VALUE_ACCESSOR,
    multi: true,
    useExisting: MyComponent,
  }
]

4
可能的原因之一是:您在组件中使用了@Input formControl,这与formControl指令发生了冲突。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接