0

我有一个包含一些数据的网格(在 stackblitz 示例中的一行)。数据模型是一个文档,具有优先级和货币属性。我用枚举实现了这个属性。然后我将此枚举转换为数组,以便将它们用作 devextreme 选择框组件的数据源。

单击该行,编辑按钮将其状态更改为启用。单击编辑按钮,将显示一个带有表单的弹出窗口。选择框中的货币值设置正确,但优先级没有。我真的不明白,为什么?

您可以在此处找到 stackblitz 示例:https ://stackblitz.com/edit/angular-dxpopup-3y6h4h

4

1 回答 1

1

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()]) }));
 }

这是StackBlitz

于 2020-07-12T08:02:23.370 回答