所以我要导入的文件包含以下值(许多其他文件都这样)
export const COLUMN_TYPES = [
"integer",
"string",
"boolean",
"datetime",
"image",
"images",
"text",
"auth_key",
"enum_type"
];
现在,我不希望上面的类型为Array<string>
,因为我确信它只会包含值。
如果我不写类型而只是将其导入,则会出现以下错误
Cannot find module 'src/constants' or its corresponding type declarations.
解决此错误的最佳方法是什么?使用Array<string>
,即使我们的数组具有特定值是恒定的?使用枚举?
答案 0 :(得分:2)
您可以使用枚举而不是常量数组,并且可以将其用作此类
export enum COLUMN_TYPES {
integer,
string,
boolean,
datetime,
image,
images,
text,
auth_key,
enum_type
}
var types: COLUMN_TYPES[] = [COLUMN_TYPES.auth_key, COLUMN_TYPES.boolean, /** ............. **/ ];
更新后的CRice答案
例如,您可以将状态定义为这样的枚举
export enum ItemStatus {
REJECTED = 2,
REMOVED = 4,
APPROVED = 6,
PROCESSED = 7,
PAYABLE = 8,
PARTIALLY_PAID = 9,
PAID = 10,
}
因此在您的商品模型中,您将使用枚举作为状态类型
export interface ItemModel {
// .......
status: ItemStatus
}
在组件中,您可以导入ItemStatus
并在条件中使用它
用法示例
import { ItemStatus } from 'path';
if(item.status === ItemStatus.PAID) {
}
或
switch(item.status) {
case ItemStatus.REJECTED:
break;
case ItemStatus.REMOVED:
break;
case ItemStatus.APPROVED:
break;
case ItemStatus.PROCESSED:
break;
case ItemStatus.PAYABLE:
break;
case ItemStatus.PARTIALLY_PAID:
break;
case ItemStatus.PAID:
break;
}