【发布时间】:2021-11-24 14:32:29
【问题描述】:
我有以下代码部分。
ngOnInit(): void {
this.form = this.formBuilder.group({
apiCodesFile: ['']
});
}
public onFileSelect(event) {
if (event.target.files.length > 0) {
this.isFileSelected = true;
const file = event.target.files[0];
this.form.get('apiCodesFile').setValue(file);
} else {
this.isFileSelected = false;
}
}
但我需要使用 get/set 方法为 formControl 'apiCodesFile' 设置表单值,而不是在 'onFileSelect' 方法中设置它。
我添加了以下代码部分。但它给出了一个错误。
set apiCodesFile (val) {
this.form.get('apiCodesFile').setValue(val);
}
public onFileSelect(event) {
if (event.target.files.length > 0) {
this.isFileSelected = true;
const file = event.target.files[0];
this.apiCodesFile(file);
} else {
this.isFileSelected = false;
}
}
错误:
ERROR TypeError: this.apiCodesFile is not a function
请给我一个解决方案。
【问题讨论】:
-
这能回答你的问题吗? Accessors: setter does not work
-
没有那种方式根本行不通
-
如果使用setter,需要申请
this.apiCodesFile = "value"设置值。 -
使用patchValue设置值。检查这个Patch_Value_Example
标签: angular typescript angular-reactive-forms