angular - 未设置编辑表单中的枚举值
问题描述
我有一个包含一些数据的网格(在 stackblitz 示例中的一行)。数据模型是一个文档,具有优先级和货币属性。我用枚举实现了这个属性。然后我将此枚举转换为数组,以便将它们用作 devextreme 选择框组件的数据源。
单击该行,编辑按钮将其状态更改为启用。单击编辑按钮,将显示一个带有表单的弹出窗口。选择框中的货币值设置正确,但优先级没有。我真的不明白,为什么?
您可以在此处找到 stackblitz 示例:https ://stackblitz.com/edit/angular-dxpopup-3y6h4h
解决方案
Object.entries()以字符串的形式提供键和值。因此,convertEnumToArray
应该使用 a 将密钥转换为数字+
,如下所示,
convertEnumToArray(enumName: any, pipe: any) {
return Object.entries(enumName).filter(e => !isNaN(e[0] as any))
.map(e => ({ id: +e[0], value: new pipe()
.transform(enumName[e[1].toString()]) }));
}
推荐阅读
- sql - 如何运行将数据作为 nvarchar 传递的过程?
- java - 将二进制搜索转换为使用递归
- python - 在我第一次从 Docker PHPMyAdmin 连接到 mySQL 实例之前,无法从 Tortoise/Python 连接到 Docker mySQL 实例
- solana - 在命令行上通过 SPL 在 solana 上创建令牌时出现问题
- php - Laravel 自动将用户及其 pdf 文件存储在数据库中
- typescript - NestJS-Prisma,如何编写与 prisma 一对多类型匹配的 DTO
- matlab - subs 在 MATLAB 中不能正确替换
- python - 如何将标签添加到 Jaeger span 的流程中
- ios - SwiftUI iOS 15 如何更改导航栏项目的颜色
- python - 类对象没有属性“get”