我有以下列举

enum EditMode {
    View = 0,
    Edit = 1,
    Delete = 2
}

假设我有一个枚举类型的变量

var editMode = EditMode.Edit;

为什么下面的代码不起作用(直接进入默认状态)?

switch (editMode) {
    case EditMode.Delete:
        ...
        break;
    case EditMode.Edit:
        ...
        break;
    default:
        ...
        break;
    }

推荐答案

我发现了我为什么会这样.代码中的某个地方有一个激活函数(我使用的是durandal),它将这个枚举作为字符串传递(该函数将参数标记为枚举,但它仍然是字符串).这就是我的switch语句失败的原因.我只是把这个值转换成一个数字,现在一切正常.谢谢你

Typescript相关问答推荐

如何让这个函数正确推断返回类型?

angular 17独立使用多个组件(例如两个组件)

如何在函数参数中使用(或模仿)`success`的行为?

如果存在ts—mock—imports,我们是否需要typescpt中的IoC容器

类型脚本泛型最初推断然后设置

webpack错误:模块找不到.当使用我的其他库时,

泛型类型联合将参数转换为Never

如何编写一个类型脚本函数,将一个对象映射(转换)为另一个对象并推断返回类型?

PrimeNG日历需要找到覆盖默认Enter键行为的方法

为什么我的条件类型不能像我预期的那样工作?

TypeScrip泛型类未提供预期的类型错误

声明文件中的类型继承

vue-tsc失败,错误引用项目可能无法禁用vue项目上的emit

使用条件类型的类型保护

Angular 16将独立组件作为对话框加载,而不进行布线或预加载

使用Type脚本更新对象属性

为什么在泛型方法中解析此promise 时会出现类型错误?

如何在本地存储中声明该类型?

Typescript 是否可以区分泛型参数 void?

Typescript 确保通用对象不包含属性