【发布时间】:2019-10-18 03:43:08
【问题描述】:
我想用我的枚举来做一个接口。
仅仅因为一个应该改变,另一个也需要改变。 我想更仔细地更改代码。
枚举的键是同一个接口的键。
export enum SmsReplaceKeyEnum {
STAY_DATE = "%STAYDATE%",
STAY_DATE_YMD = "$STAYDATEYMD%",
ROOMTYPE_N_COUNT = "%ROOMTYPENCOUNT%",
BOOKERNAME = "%BOOKER%",
TOTAL_PRICE = "%TOTALPRICE%"
}
interface IPareser {
STAY_DATE: string;
STAY_DATE_YMD: string;
ROOMTYPE_N_COUNT: string;
BOOKERNAME: string;
TOTAL_PRICE: string;
}
我也有这个
export const SmsReplaceKeyEnumKeys = [
"STAY_DATE",
"STAY_DATE_YMD",
"ROOMTYPE_N_COUNT",
"BOOKERNAME",
"TOTAL_PRICE"
];
我试过了
interface IPareser {
[key in SmsReplaceKeyEnumKeys]: string;
}
interface IPareser {
[key keyof SmsReplaceKeyEnumKeys]: string;
}
最终目标是使用列表中的所有键创建一个对象的类型。
【问题讨论】:
标签: typescript enums interface