angular - primeNG p-fileUpload 自定义模式回调未触发
问题描述
当我启用 customeMode 时, primeNG p-fileUpload 不会触发 uploadHandler。你能帮我解决这个问题吗?
我需要手动发出服务器请求。
<p-fileUpload name="invoiceFiles[]" customUpload="true" [showUploadButton]="false" multiple="multiple"
[showCancelButton]="false" (uploadHandler)="invoiceUpload($event)">
</p-fileUpload>
解决方案
如果您隐藏了上传按钮,则需要另一种方法来捕获选定的文件。一种方法是使用onSelect
将文件存储在可以与表单一起提交的数组中。这是一个例子:
<p-fileUpload name="demo[]" #fileInput (onSelect)="onSelect($event)" [showUploadButton]="false" customUpload="true"></p-fileUpload>
在控制器中:
import { FormArray, FormControl, FormGroup, FormBuilder, Validators} from '@angular/forms';
private myFormFilesToUpload: FormArray;
constructor(private _fb: FormBuilder) {}
this.myForm = this._fb.group({
//...other form controls
filesToUpload: this._fb.array([])
});
this.myFormFilesToUpload = this.myForm.get('filesToUpload') as FormArray;
onSelect(event) {
if (event.files && event.files.length > 0) {
this.myForm.markAsDirty();
this.myFormFilesToUpload.push(this._fb.group({
fieldName: 'my_images',
files: this._fb.array(Array.from(event.files))
}));
}
}
然后文件应该被发送去你提交表格。
推荐阅读
- dns - Name.com 裸域到 www
- php - Tenancy - 无法声明类 CreateUsersTable,因为该名称已在使用中
- reactjs - Next.js / React 单页应用程序需要每个项目的 url
- javascript - 如何从函数返回与传递给函数的数量一样多的元素(html标签)?反应
- python - Python打印与输入重叠
- kubernetes - 为什么这么多流行的 Helm 图表的安全等级很低?有关系吗?
- python - Odoo13 - PDF 打印的差异 - 丢失页码
- .net-core - 无法将 github 操作成功添加到 azure 应用服务
- javascript - 如何使用 selectsize.js 制作分隔符?
- java - 使用 Spring Boot 在每个 Cucumber 场景后回滚事务