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;
    }
}

09-19 19:44