将枚举转换为组件中的材料选择

问题描述

现在我对枚举有一些问题。 我想用枚举值在组件中进行mat-select,但是我不明白,怎么可能。 我尝试过,但是没有用

我的ts组件代码

    import { Component,OnInit } from '@angular/core';
    import { FormControl,FormGroup } from '@angular/forms';
    import { select,Store } from '@ngrx/store';
    
    import { Currency } from 'src/app/enums/CurrencyType';
    import { Edition } from 'src/app/enums/EditionType';
    import { Author } from 'src/app/models/Author';
    
    import { getAuthorsList } from 'src/app/store/author/author.actions';
    import { getAuthoRSSelector } from 'src/app/store/author/author.selector';
    
    @Component({
      selector: 'app-printing-edition-item',templateUrl: './printing-edition-item.component.html',styleUrls: ['./printing-edition-item.component.css']
    })
    export class PrintingEditionItemComponent implements OnInit {
    
      type: Edition -- my enum
    
      constructor(private store: Store) {
       }
    }

我的枚举

export enum Edition{
  None = 0,Journal = 1,Newspaper = 2,Book = 3
}

我尝试使用HTML:

     <mat-form-field>
              <mat-label>Category</mat-label>
              <mat-select formControlName="type">
                <mat-option *ngFor="let item of type" value="item">type[item]</mat-option>
              </mat-select>
    </mat-form-field>

解决方法

您可以使用类似的东西:

<groupId>info.cukes</groupId>

<artifactId>cucumber-java</artifactId>

<version>1.2.5</version>

<type>pom</type>

在您的模板中:

export class PrintingEditionItemComponent implements OnInit {

    type = Edition;
    keys: string[];
    
    constructor(private store: Store) { }

    ngOnInit() {
        this.keys = Objects.keys(this.type).filter(Number);
        this.selectedEdition = Edition.Foo;
    }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...