未设置编辑表单中的枚举值
enum value in edit form not set
我有一个包含一些数据的网格(在 stackblitz 示例中为一行)。数据模型是一个文档,具有优先级和货币属性。我用枚举实现了这个属性。然后我将这个枚举转换成数组,以便将它们用作 devextreme selectbox 组件的数据源。
单击该行,编辑按钮会将其状态更改为启用。单击编辑按钮,将显示一个带有表单的弹出窗口。 select 框中的货币值设置正确,但优先级设置不正确。而且我真的不明白,为什么?
您可以在此处找到 stackblitz 示例:https://stackblitz.com/edit/angular-dxpopup-3y6h4h
Object.entries() 以字符串形式提供键和值。因此,convertEnumToArray
应该使用 +
将密钥转换为数字,如下所示,
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 示例中为一行)。数据模型是一个文档,具有优先级和货币属性。我用枚举实现了这个属性。然后我将这个枚举转换成数组,以便将它们用作 devextreme selectbox 组件的数据源。
单击该行,编辑按钮会将其状态更改为启用。单击编辑按钮,将显示一个带有表单的弹出窗口。 select 框中的货币值设置正确,但优先级设置不正确。而且我真的不明白,为什么?
您可以在此处找到 stackblitz 示例:https://stackblitz.com/edit/angular-dxpopup-3y6h4h
Object.entries() 以字符串形式提供键和值。因此,convertEnumToArray
应该使用 +
将密钥转换为数字,如下所示,
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()]) }));
}