枚举类型使用

废话不多说,直接来干货

字符串枚举

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 {
  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`
}

你可能感兴趣的:(枚举类型使用)