我在Stackoverflow和网络上进行了搜索,发现了这个线程https://github.com/Microsoft/TypeScript/issues/14813,但是它不能解决我的问题。我在使用ng serve --watch
编译代码时遇到了此错误。
带有fd.entries()
的这部分会触发错误...知道这里发生了什么吗?
onFileSelected(event) {
const fd = new FormData;
for (const file of event.target.files) {
fd.append('thumbnail', file, file.name);
const entries = fd.entries();
// some other methods are called here e. g. upload the images
for (const pair of entries) {
fd.delete(pair[0]);
}
}
}
我看到那里(https://github.com/Microsoft/TypeScript/blob/master/src/lib/dom.iterable.d.ts)是
entries
的一些接口(interface),但是以某种方式对我来说不起作用。编辑
我的
tsconfig.json
看起来像这样{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}
最佳答案
并非所有浏览器都支持 entries
方法。如果仍要使用该方法,并且仍将目标设置为es5,则可以extend当前接口(interface)
declare global {
interface FormData {
entries(): Iterator<[USVString, USVString | Blob]>;
}
}
关于angular - 错误TS2339 : Property 'entries' does not exist on type 'FormData' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50677868/