I've used the kendo-upload control with the custom template to add a comment input for each file uploaded.
This was based on sample Kendo-upload in
stackblitz https://stackblitz.com/edit/angular-gmuolt?file=app/upload.component.ts
---
<label [for]="myUpload">Some upload label text</label>
<kendo-upload
#myUpload="kendoUpload"
[autoUpload]="false"
[saveUrl]="uploadSaveUrl"
[removeUrl]="uploadRemoveUrl">
<ng-template kendoUploadFileTemplate let-files let-state="state">
<div>Name: {{files[0].name}} Size: {{files[0].size}} bytes</div>
<input />
<button *ngIf="showButton(state)"
(click)="remove(myUpload, files[0].uid)"
class="k-button" style="position: absolute; right: .2em;">
Remove
</button>
</ng-template>
</kendo-upload>
-------
What would be the best way to access the value of the input controls for each file item?
I've tried using a dynamically generated ID for the input, but for my case this control is inside a tabstrip and if the user clicks on the submit when the focus is on another tab, the values cannot be retrieved.