我想将联合类型转换为 enum 或像打字稿中的 enum
这对我的大脑不起作用。
感谢您阅读我的问题。
type status = 'start' | 'loading' | 'stop';
class Loading {
static staticStatus: status;
}
Loading.staticStatus.start; // i want to use.
Run Code Online (Sandbox Code Playgroud)
或者
type status = 'start' | 'loading' | 'stop';
enum statusEnum = ?????;
class Loading {
static staticStatus = statusEnum;
}
Loading.staticStatus.start; // i want to use.
Run Code Online (Sandbox Code Playgroud)
很抱歉我没有详细写下我的问题。
const schema ={
status: Joi.string()
.required()
.valid(
'start',
'loading',
'stop',
)
}
// type setStatusType = 'start' | 'loading' | 'stop' is like this
type setStatusType = PickType<Joi.extractType<typeof schema>, 'status'>;
enum statusEnum = ?????;
class Loading {
static staticStatus = statusEnum;
public setLoading() {
this.status = Loading.staticStatus.loading // I want to use this.
}
}
Run Code Online (Sandbox Code Playgroud)
所以我想将联合类型转换为枚举......
Mat*_*ski 18
不确定如何enum从 a获得 anUnion但如果两者都需要,您可以轻松地进行相反的操作。
enum Status {
start,
loading,
stop
}
type StatusAsUnion = keyof typeof Status
Run Code Online (Sandbox Code Playgroud)
希望这是有用的
bas*_*rat -3
最简单的解决方案是只使用string enum:
enum Status {
start = 'start',
loading = 'loading',
stop = 'stop'
}
class Loading {
static staticStatus: Status;
}
Loading.staticStatus = Status.loading;
Run Code Online (Sandbox Code Playgroud)