废话不多说,直接来干货
字符串枚举
export enum EvidenceTypeEnum {
UNKNOWN = '',
PASSPORT_VISA = 'passport_visa',
PASSPORT = 'passport',
SIGHTED_STUDENT_CARD = 'sighted_tertiary_edu_id',
SIGHTED_KEYPASS_CARD = 'sighted_keypass_card',
SIGHTED_PROOF_OF_AGE_CARD = 'sighted_proof_of_age_card'
}
数字枚举
export enum Color {
Red,
Green,
Blue
}
let col = Color.Red;
col = 0; // 有效的,这也是 Color.Red
默认从0开始,如果设置Red = 1,则从1开始依次递增
场景
1,在API文件中使用。当接口需要传的值里面有多种数值的时候,要使用枚举数字类型。当传值需要使用字符串的时候则需要使用字符串类型。
举个栗子
enum Color {
Red,
Green,
Blue
}
interface changeColorParams {
color: Color
}
export async function saveAttachment(
data: changeColorParams
): Promise<boolean> {
return request(`xxx`, {
method: 'post',
data
});
}
2,通常会把这些枚举给export出去。当我们在业务组件中使用api请求接口后返回的字段中有字符串枚举类型,我们可以引入枚举类型变量
举个栗子
import EvidenceTypeEnum from 'xxx'
// 请求到data
if (data.value === EvidenceTypeEnum.PASSPORT) {
console.log('You provided a passport');
console.log(data); // `passport`
}