gpt4 book ai didi

angularjs - p-fileUpload 不能多次启动

转载 作者:行者123 更新时间:2023-12-03 23:30:40 26 4
gpt4 key购买 nike

我将尝试解释这个组件发生了什么,我已经这样定义了组件

<p-fileUpload #fileUpload accept=".csv,.txt" maxFileSize="1000000" customUpload="true" (uploadHandler)="uploadFile($event)">

在我的包裹 Json 我有这个
"primeng": "^4.1.0-rc.3"
并在js文件上有这个方法
 uploadFile(event) {

for (let file of event.files) {
this.uploadedFiles.push(file);
}

this.uploadFileService.doSomething(this.uploadedFiles[0]).subscribe(x => {
this.fileInfo = x;
..do some stuff..

});
}

它第一次按预期工作(显示组件选择、上传和取消的 3 个按钮)并让我从弹出窗口中选择文件,然后该过程继续调用 uploadFile 方法;问题是,一旦它完成,如果我尝试再次上传同一个文件,它不允许我这样做。
它只允许我选择文件,但从不启用上传按钮,当然,从不调用 uploadFile 方法。但是如果我选择另一个不同于以前的文件,它会按预期工作,这意味着调用 uploadFile 方法。

我在用
this.fileUpload.clear();

只是为了清除向用户显示上传文件的部分

有什么建议吗?

最佳答案

我想这个问题可能已经解决了,但为了供开发人员将来引用,请在下面找到解决方案。

解决方法及说明请引用:[ https://github.com/primefaces/primeng/issues/4018][1]

请将模板变量传递给组件,然后使用该变量清除。

例如:

HTML文件:

<p-fileUpload #fileUpload accept=".csv,.txt" maxFileSize="1000000" customUpload="true" (uploadHandler)="uploadFile($event,fileUpload)">

组件文件:
uploadFile(event,fileUpload) {

for (let file of event.files) {
this.uploadedFiles.push(file);
}

this.uploadFileService.doSomething(this.uploadedFiles[0]).subscribe(x => {
this.fileInfo = x;
..do some stuff..

});

fileUpload.clear(); // this will clear your file
}

关于angularjs - p-fileUpload 不能多次启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45082603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com