模型如下所示
export class FileQueueObject {
public file: any; // used any because selected file contain.
public status: FileQueueStatus = FileQueueStatus.Pending;
public progress = 0;
public request: Subscription = null;
public response: HttpResponse<object> | HttpErrorResponse = null;
constructor(file: any) {
this.file = file;
}
// statuses
public isPending = () => this.status === FileQueueStatus.Pending;
public isSuccess = () => this.status === FileQueueStatus.Success;
public isError = () => this.status === FileQueueStatus.Error;
public inProgress = () => this.status === FileQueueStatus.Progress;
public isUploadable = () => this.status === FileQueueStatus.Pending || this.status === FileQueueStatus.Error;
}
TS
queue: Observable<FileQueueObject[]>;
代码如下
2问题:
我想要实现的是
我正在更改事件中添加文件=>
var files = this.fileInput.nativeElement.files
const queueObj = new FileQueueObject(file);
1:-现在在选择文件上,如果队列中已经有一个文件,那么我想显示这样的验证(现在,即使我没有选择任何文件,它都是火力验证,我不确定为什么)
validate(file: File): boolean {
// check if file queue already have one record.
if (this.queue.pipe(map((items) => items.length > 0))) {
alert('can only 1 file for uploading');
return false;
}
return true;
}
2 =删除按钮-希望从队列中删除文件。 (似乎不起作用)