【发布时间】:2018-10-12 23:07:52
【问题描述】:
考虑一个简单的索引接口:
interface FormData {
[K: string]: string;
}
那个小家伙工作得很好。但是,有一种情况我想允许一个属性是一个字符串数组。
interface AcmeFormData extends FormData {
foobar: string[];
}
Typescript 抱怨
“string[]”类型的属性“foobar”不能分配给字符串索引类型“string”。
查看文档,似乎以下应该是可能的,但也有抱怨。
interface FormData {
[K: string]: string;
foobar: string[];
}
应该注意的是,我希望避免使用联合类型 ([K: string]: string | string[];),因为 99% 的时间,数据将始终是单个字符串值,因此希望避免键入提示。
这可能吗?还是我想滥用 Typescript?
【问题讨论】:
标签: typescript