名称为“eventGraphicAttachment”的表单控件没有值访问器

6 angular-material angular

我正在开发一个 Angular 项目,在构建项目时遇到一些错误。我正在使用材料设计。但我不确定如何解决这个问题。请看一下并帮助我。

这是组件代码。

export class TestComponent {
    ...
    public createEventGroup: FormGroup

    public constructor(
        ...
    ) {
        this.createEventGroup = new FormGroup({
            eventName: new FormControl(),
            eventDescription: new FormControl(),
            eventGraphicAttachment: new FormControl(''),
            ...
        });
    }
...
Run Code Online (Sandbox Code Playgroud)

这是 HTML 代码

<mat-form-field class="event-graphic">
  <mat-label>Event Graphic</mat-label>
  <ngx-mat-file-input placeholder="Basic Input" formControlName="eventGraphicAttachment">
  </ngx-mat-file-input>
  <mat-icon matSuffix>folder</mat-icon>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

这是错误日志

core.js:6210 ERROR Error: No value accessor for form control with name: 'eventGraphicAttachment'
    at _throwError (forms.js:1732)
    at setUpControl (forms.js:1506)
    at FormGroupDirective.addControl (forms.js:5253)
    at FormControlName._setUpControl (forms.js:5835)
    at FormControlName.ngOnChanges (forms.js:5780)
    at FormControlName.rememberChangeHistoryAndInvokeOnChangesHook (core.js:1520)
    at callHook (core.js:2583)
    at callHooks (core.js:2542)
    at executeInitAndCheckHooks (core.js:2493)
    at refreshView (core.js:9481)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Car*_*oso 11

您应该添加ngDefaultControl到具有formControlName. 所以代码应该是这样的:

<mat-form-field class="event-graphic">
  <mat-label>Event Graphic</mat-label>
  <ngx-mat-file-input placeholder="Basic Input" formControlName="eventGraphicAttachment" ngDefaultControl>
  </ngx-mat-file-input>
  <mat-icon matSuffix>folder</mat-icon>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)