在React选择组件中使用API的Enum键作为下拉值

问题描述 投票:0回答:1

我正在开发我的 C# Asp.NET + React CRUD 应用程序。 我想使用我的 api 的枚举值(或键?无论如何)作为您可以从下拉选择组件中选择的值。 假设我想创建并向数据库添加一个新的 Item 记录,并且我希望能够设置正确的 ItemType,最好是从下拉菜单中设置,这样我就不会拼错任何内容。 可以说这是我的枚举和我的 Item 类:

public enum ItemType
    {
        ChargeBoard,
        LCD,
        Battery,
        Speaker,
        Buzzer
        //etc...
    }
    public class Item
    {
        public Guid Id { get; set; }
        public ItemType? Type { get; set; }
        //other irrelevant properties like name, price etc.
    }

每当我向我的 api 发送 GET 请求时,我都会从我的 Type 属性中获取一个字符串值(例如,它将是类型:“LCD”),这只是我的后端存在的 n 个可能的键中的一个键应用。 那么我如何获取我的 ItemType 枚举具有的所有可能的键?

Ofc 我可以为此硬编码一个数组,但每次后端发生变化时,我也需要在前端重新调整它,这并不是一个好主意。 到目前为止,我想到的第一件事也是唯一一件事就是在我的 API 中创建一个单独的端点,它将为我提供每个可能的枚举键作为字符串值。 也许有人有更好(更干净?)的想法?

c# reactjs asp.net enums
1个回答
0
投票

这是我的处理方法:

  1. 创建 Api 端点以获取枚举的值
  2. 使用 React 调用该端点,获取所有值并将它们映射到您的下拉列表中
  3. 在项目的 POST 请求中,下拉列表应自动使用相应的选定字符串填充 JSON 的项目类型

希望这有帮助!

使用来源:

来源1

来源2

来源3

© www.soinside.com 2019 - 2024. All rights reserved.