如何将Prisma枚举转为chakra-react-select组件的选项
解决方案
你可以直接利用Prisma生成的客户端枚举,将其转换为chakra-react-select所需的选项格式,具体步骤如下:
导入Prisma枚举
首先从Prisma客户端导入定义好的Category枚举:import { Category } from '@prisma/client';生成选择选项数组
使用Object.values()提取枚举的所有值,再映射为chakra-react-select要求的{ label, value }结构(因为你允许label和value都用枚举值,所以直接复用即可):const categoryOptions = Object.values(Category).map(item => ({ label: item, value: item }));在Select组件中使用
把生成的categoryOptions传入Select的options属性即可:<Select isMulti options={categoryOptions} placeholder="Select categories" closeMenuOnSelect={true} onChange={onChange} onBlur={onBlur} value={value} ref={ref} />
这样就能自动同步Prisma Schema中的枚举定义,后续如果枚举有新增或修改,只需要重新生成Prisma客户端,选项列表就会自动更新,不需要手动维护。
内容的提问来源于stack exchange,提问作者Mel
相关产品推荐
相关产品推荐

