原咖 2021-12-09 14:08 采纳率: 100%
浏览 51
已结题

我 TS 里 有一个函数的参数使用了枚举做变量类型 报错

问题遇到的现象和发生背景

我 TS 里 有一个函数的参数使用了枚举做变量类型

问题相关代码,请勿粘贴截图

enum queryMethod {
GET = "GET",
POST = "POST"
}
function send(url: string, method: queryMethod, data?: object, headers?: Record<string, string> | undefined){}

运行结果及报错内容

'queryMethod' refers to a value, but is being used as a type here. Did you mean 'typeof queryMethod'?

我的解答思路和尝试过的方法

改文件后缀为tsx

我想要达到的结果

没有报错

  • 写回答

1条回答 默认 最新

  • 来回三五七 2021-12-09 15:53
    关注

    调用方法的时候给对应的枚举就好了

    send(url: string, method: queryMethod, data?: object, headers?: Record<string, string> | undefined): void {
    }
    
    // 调用方法的时候给对应的枚举就好了
    this.send(null, queryMethod.GET);
    
    enum queryMethod {
      GET = "GET",
      POST = "POST"
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月21日
  • 已采纳回答 12月13日
  • 创建了问题 12月9日