首页 > 解决方案 > JS - 如何在对象上定义多状态属性

问题描述

我在 Angular 上创建了这个接口,以便在前端和服务器之间“塑造”对象。

export interface RepairNote{
  id: number,
  nombre?: string,
  telefono?: number,
  ref?: string
  marca?: string,
  averia?: string,
  fecha?: Date,
  estado?: /* here */
}

我愿意让“estado”(英文:status)具有不同的封闭状态组,即“Pending、Complete 和 Closed”。这意味着 estado 只能具有这三个值之一。在我看来,它就像一个布尔值,但有两个以上的状态。这是一个非常简单的问题,我知道它属于 OOP 的基础知识,但是我一头雾水,不知道如何使它工作。

标签: javascriptinterface

解决方案


我通常使用“枚举”来处理这些事情:

export enum Status {
  Pending = 'Pending',
  Complete = 'Complete',
  Closed = 'Closed',
}

export interface RepairNote {
  // ...
  status?: Status;
  // ...
}

在这里您可以找到有关枚举的更多信息:https ://www.typescriptlang.org/docs/handbook/enums.html


推荐阅读