У меня есть реактивная форма, в которой кнопка отправки должна быть отключена до тех пор, пока не будут заполнены поля ввода
Я пытался использовать параметры ngmodel и ngForm для отключения кнопки, но она не активируется при заполнении ввода
это мой код
<form #uploadForm="ngForm">
<div class="uploadDiv">
<div *ngFor="let data of fileList, let i = index">
<label class="adpLabel">{{data.fileDesc}}</label>
<input readonly class="adpInput" type="text" [(ngModel)]='listFilter' name="listFilter" value={{filename[i]}}>
<input type="file" id="{{data.fileName}}"
#selectFiles hidden accept=".xls,.xlsx" (change)="getFileInfo($event, i)">
<button mat-button (click)="selectFiles.click()" class="browseBtn">Browse</button>
</div>
<div class="adpButtons">
<button mat-button [disabled]="!uploadForm.valid" (click)="clickFileUpload()">Upload</button>
<button mat-button disableRipple tabindex="-1" mat-dialog-close>Back</button>
</div>
</div>
</form>
Я ожидаю, что кнопка загрузки будет активна при заполнении ввода
РЕДАКТИРОВАТЬ 1: Добавление кода
getFileInfo(event, i) {
if(this.file[i]){
this.file.splice(i,1,event.target.files);
this.fileType.splice(i,1,event.target.id);
}
else{
this.file[i]=event.target.files;
this.fileType[i]=event.target.id;
//this.file.push(event.target.files);
//this.fileType.push(event.target.id);
}
for (let j = 0; j < this.file.length; j++) {
let fileName:string='';
let extension:string;
if(event.target.files[j]){
fileName=event.target.files[j].name;
extension = fileName.substring(fileName.lastIndexOf(".")).toLowerCase();
}
let id:any;
if(this.fileType[j]){
id=this.fileType[j];
}
if ( extension==".xls" || extension==".xlsx" ) {
this.filename[i] = fileName;
this.fileType[i] = id;
}
}
}