· 171 words · 1 min
一般枚举我们用英文与数字/字符串对应,但显示的时候通常又要显示为中文,这种该怎么写好呢?我一般有两种做法。
enum Status {
Close = 0,
Open = 1,
}
enum StatusName {
Close = '关闭',
Open = '开启',
}
用的时候直接取 StatusName.Close
。假设此时接口返回的字段为 { status: 1 }
,那么用 StatusName[Status[data.status]]
即可将数字枚举转换为中文,注意这种方法只适用于数字枚举。
enum Status {
Close = 0,
Open = 1,
}
const StatusName = {
[Status.Close]: '关闭',
[Status.Open]: '开启',
} satisfies Record<Status, string>;
用的时候直接取 StatusName[Status.Close]
即可。