无法扩展typescript文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法扩展typescript文件相关的知识,希望对你有一定的参考价值。
我正在创建一个拖放界面。在下降,我得到了原生的File
。我需要扩展此接口并包含一些其他信息。
我的第一种方法是使用
interface AcceptedFile extends File {
acl: Acl,
disabled: boolean;
}
const toAcceptedFiles = (files: File[]): AcceptedFile[] => {
return files.map(file => {
return {
...file,
acl: Acl.Public,
disabled: false
}
});
}
但是,函数toAcceptedFiles
的结果只包含来自preview
的File
密钥;所有的blob,名字等都消失了。如果我console.log
在file
内的toAcceptedFiles
,我可以看到所有的钥匙。
有趣的是,以下界面工作正常:
interface AcceptedFile {
file: File,
acl: Acl,
disabled: boolean;
}
为什么扩大File
打破它?
答案
为什么第一种方法不起作用spread operator issues with property accessors (getters)
你的第二种方法更合理,因为原生api会给你一个File[]
,你要映射到你的类型AcceptedFile
。
const toAcceptedFiles = (files: File[]): AcceptedFile[] => {
return files.map(file => {
return {
file: file,
acl: Acl.Public,
disabled: false
}
});
}
当从本机API调用toAcceptedFiles
时,它将填充File[]
而不是AcceptedFile[]
。
interface AcceptedFile {
file: File;
acl: Acl,
disabled: boolean;
}
以上是关于无法扩展typescript文件的主要内容,如果未能解决你的问题,请参考以下文章
无法在不提供文件扩展名的情况下导入 TypeScript 模块
getSupportFragmentManager() 在活动扩展片段中未定义
无法在 Visual Studio 2012 中编译 TypeScript 文件
typescript Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming/angular-2/