【发布时间】:2019-08-07 15:42:01
【问题描述】:
我正在尝试为文件上传创建一个可重用的组件。该组件有效,但我需要添加验证。它继续在控制台上给出相同的错误“错误:找不到具有未指定名称属性的控件”
上传组件-
export class UploadFilesComponent implements OnInit {
@Input() placeholder: string;
@Input()
text: string;
@Input()
accept: string;
@Input()
validateFile: FormControl;
show: boolean;
ngOnInit() {
}
}
上传组件 HTML-
<div class="file-upload">
<mat-form-field *ngIf="!show">
<label class="upload-btn" for="file-upload" (click)="uploader.click()">UPLOAD</label>
<input matInput #filename type="text" placeholder="{{placeholder}}" accept="accept" [formControl]="validateFile"/>
<input hidden type="file" #uploader (change)="uploadFile(uploader.files, filename)"/>
</mat-form-field>
<img class="upload-image" src="../../../../../assets/images/taa/attachment-l-secondary.svg"/>
<mat-card *ngIf="show">
<span><img class="upload-image" src="../../../../../assets/images/taa/attachment-l-secondary.svg"/></span>
<span><mat-card-content>{{text}}</mat-card-content></span>
<span><img class="upload-image" src="../../../../../assets/images/taa/attachment-l-secondary.svg"/></span>
</mat-card>
</div>
最后在appcomponent.html中调用上传文件组件-
<form [formGroup]="form">
<app-upload-files [placeholder]="'PAN'" [validateFile]="panFormControl"></app-upload-files>
<app-upload-files [placeholder]="'GST'"></app-upload-files>
<app-upload-files [placeholder]="'AAshar'"></app-upload-files>
<button [disabled]="form.invalid">NEXT</button>
</form>
Appcomponent.ts-
export class AppComponent {
form: FormGroup;
panFormControl : FormControl;
constructor(private fb:FormBuilder){
}
ngOnInit(){
this.panFormControl=new FormControl('', Validators.required);
this.form = this.fb.group({
'pan': this.panFormControl
})
}
}
【问题讨论】:
-
什么是
panFormControl? -
问题更新请检查
-
哪一行给出了错误?
-
它可能在上传组件中,当我尝试将 validateFile 分配给 [formControl] 时,formcontrol 没有得到任何东西。
-
我们不要假设任何事情。粘贴您收到的确切错误消息
标签: angular