如何向typescript文字字符串枚举添加任意字符串选项?

如何向typescript文字字符串枚举添加任意字符串选项?,typescript,Typescript,我试图在文本字符串类型上允许任何任意字符串值,并允许intellisense。考虑以下类型: type possibleValues='value0'|'value1'|'value2' 这将在vscode中显示 但如果我将代码更改为: type possibleValues='value0'|'value1'|'value2'| string 我不再获得intellisense,但代码将按预期工作 我的问题是,是否有办法设置此类型,以便在提供intellisense时允许使用任意字符串值?我

我试图在文本字符串类型上允许任何任意字符串值,并允许intellisense。考虑以下类型:

type possibleValues='value0'|'value1'|'value2'

这将在vscode中显示

但如果我将代码更改为:

type possibleValues='value0'|'value1'|'value2'| string

我不再获得intellisense,但代码将按预期工作


我的问题是,是否有办法设置此类型,以便在提供intellisense时允许使用任意字符串值?

我不确定这是否适用于变量声明。但是对于
函数
可以使用以下方法:

function f(a: "value1" | "value2")
function f(a: string)
function f(a: string) {

}

首先考虑第一次过载(提供自动完成)。如果它不再匹配,则将参考第二个。

“foo”| string
类型将扩展到其超级类型
string
,因此您将丢失字符串文本。我正在为一个api编写一个lib,它有一些默认端点,比如“default”、“bug”等,但它允许添加自定义端点。我正在尝试为默认值保留intellisense,同时能够添加自定义端点。这是@zzrv的一个很好的答案,但是是的,重载函数不是我的问题。问题在于变量声明。