ts中使用enum

项目中有一些枚举值

  • All-全部
  • FIRST-第一段
  • SECOND-第二段

    export enum Types {
    ALL = '全部',
    '全部' = 'ALL',
    FIRST='第一段',
    '第一段'='FIRST',
    SECOND='第二段',
    '第二段'='SECOND'
    }

    写成以上写法是为了在一个枚举中,可以获取的各种值,比如Select中使用

    <Select>
    <Select.Option value={Types['全部']}>{Types.ALL}</Select.Option>
    </Select>

    但是这样的写法eslnt会报错

    AssertionError [ERR_ASSERTION]: Node must be provided when reporting error if location is not provided
      at assertValidNodeInfo (/Users/taozhang/work/eci-ziying-web/node_modules/eslint/lib/linter/report-translator.js:98:9)
      at /Users/taozhang/work/eci-ziying-web/node_modules/eslint/lib/linter/report-translator.js:332:9
      at Object.report (/Users/taozhang/work/eci-ziying-web/node_modules/eslint/lib/linter/linter.js:920:41)
      at Program:exit (/Users/taozhang/work/eci-ziying-web/node_modules/eslint/lib/rules/no-unused-vars.js:661:33)
      at /Users/taozhang/work/eci-ziying-web/node_modules/eslint/lib/linter/safe-emitter.js:45:58
      at Array.forEach (<anonymous>)
      at Object.emit (/Users/taozhang/work/eci-ziying-web/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
      at NodeEventGenerator.applySelector (/Users/taozhang/work/eci-ziying-web/node_modules/eslint/lib/linter/node-event-generator.js:293:26)
      at NodeEventGenerator.applySelectors (/Users/taozhang/work/eci-ziying-web/node_modules/eslint/lib/linter/node-event-generator.js:322:22)
      at NodeEventGenerator.leaveNode (/Users/taozhang/work/eci-ziying-web/node_modules/eslint/lib/linter/node-event-generator.js:345:14)

    而写成这样的枚举是不报错的

    export enum Types {
    ALL = '全部',
    FIRST='第一段',
    SECOND='第二段',
    }

    但是如何这样还得再定义一套枚举

    export enum Types_1 {
    ALL = 'ALL',
    FIRST='FIRST',
    SECOND='SECOND'
    }

请问这种场景应该如何定义枚举?

阅读 4.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题