class Parent {
currentStatus: 'a' | 'b' | 'c';
}
class Test extends Parent {
public static status = {
a: 'a',
};
constructor() {
super();
this.currentStatus = Test.status.a;
}
}
我应该怎么做?
我想将值放入CurrentStatus。
答案 0 :(得分:1)
我想将值放在
CurrentStatus
中。
发生错误是因为我们无法将类型string
分配给字符串文字联合类型'a' | 'b' | 'c'
。
您可以使用as const
来确保Test.status.a
属于字符串文字类型'a'
,它位于'a' | 'b' | 'c'
的域之内,而不是扩展为类型string
,在域之外。
class Parent {
currentStatus: 'a' | 'b' | 'c';
}
class Test extends Parent {
public static status = {
a: 'a' as const,
};
constructor() {
super();
this.currentStatus = Test.status.a;
}
}