class Parent {
currentStatus: 'a' | 'b' | 'c';
}
class Test extends Parent {
public static status = {
a: 'a',
};
constructor() {
super();
this.currentStatus = Test.status.a;
}
}
我该怎么做?
我想把这个值设为当前状态。
最佳答案
我想把这个值放到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;
}
}