如何将枚举作为 devextreme 选择框的数据源

Posted

技术标签:

【中文标题】如何将枚举作为 devextreme 选择框的数据源【英文标题】:How to put an enum as dataSource for devextreme select box 【发布时间】:2021-10-14 05:01:18 【问题描述】:

我想用作为类属性的枚举值填充选择框 我的 html

<div class="channel-visible">
        <div class="title">Sichtberagt</div>
        <dx-select-box
        [(value)]="newChannel.visibility"
        [dataSource]="channelVisibility"
        >

        </dx-select-box>
    </div>

我的组件:

channelVisibility = EChannelVisibility;
newChannel = new Channel();

Enum 类型 EChannelVisibility 是 Channel 类的属性。 如果我尝试在上面的 HTML 中实现它,我会收到此错误:

【问题讨论】:

【参考方案1】:

另一种方法是从您的枚举构造一个字符串数组。

import  Component  from '@angular/core';

enum EChannelVisiblity 
  Up = 'UP',
  Down = 'DOWN',
  Left = 'LEFT',
  Right = 'RIGHT'


@Component(
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
)
export class AppComponent 
  visibility!: any;
  channelVisibility!: any;

  constructor() 
    var arr = [];
    for (var i in EChannelVisiblity) 
      arr.push(i.toString());
    

    this.channelVisibility = arr;
  

【讨论】:

以上是关于如何将枚举作为 devextreme 选择框的数据源的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Angular Devextreme 自定义我的代码?

如何在 Devextreme 数据网格上捕获 web api 返回消息?

如何将 Docusign 的电子签名 API 与 .NET 后端和 Angular + Devextreme 前端集成?

如何比较两个单元格字段并验证 devextreme 数据网格中的一个条件

在 phpmyadmin 中仅设置几个值作为域枚举

将选择框的选定值作为字符串发送到 PHP