如何将 TypeScript enum 转换为用于 UI 显示的对象数组?
大家好!我是 TypeScript 新手,在处理 enum 时遇到了问题。我有一个订单状态枚举:
```typescript
enum OrderStatus {
Pending = 'pending',
Processing = 'processing',
Shipped = 'shipped',
Delivered = 'delivered',
Cancelled = 'cancelled'
}
```
我需要在 React 组件的下拉列表(select)中显示这些状态。为此,我需要一个如下形式的对象数组:
```typescript
[
{ label: 'Pending', value: 'pending' },
{ label: 'Processing', value: 'processing' },
// ... 以此类推
]
```
我尝试使用 `Object.values(OrderStatus)`,但这只返回值('pending', 'processing' 等)。我需要同时获取键(作为 label)和值本身。
我尝试了以下代码:
```typescript
const statusArray = Object.entries(OrderStatus).map(([key, value]) => ({
label: key,
value: value
}));
```
但它不知为何返回了一个包含重复条目的数组:`[{label: 'Pending', value: 'pe