迭代离子选择中的枚举

时间:2019-06-01 20:45:01

标签: angular typescript ionic-framework enums ionic4

如何使用ngModel进行离子选择迭代枚举

export enum Escolaridade {
    ANALFABETO = "Analfabeto",
    DE_1_A_3ANOS = "de 1 a 3 anos",
    DE_4_A_7ANOS = "de 4 a 3 anos",
    MAIS_DE_8ANOS = "mais de 8 anos"
}

class Pessoa {
    ...
    public escolaridade:typeof Escolaridade =  Escolaridade;
}

export class CadastroPage {
    ...
    this.p = new Pessoa();
}

home.html
<ion-select interface="popover" [(ngModel)]="p.escolaridade">
<ion-select-option *ngFor="let escolaridade of p.escolaridade">       
    {{escolaridade}}
</ion-select-option>
</ion-select>

我需要在ion-select-option中列出项目,并将选择的项目提交到“ this.p”

1 个答案:

答案 0 :(得分:0)

迭代枚举中的值。您可以编写一个函数来从枚举中提取值。

extractValuesFromEnum(enum)
{
  const retVal = [];
  const keys = Object.keys(enum);
  for(let i=0; i < keys.length; i++)
  {
    if(i %2 !== 0 )  // odd elements in the array will be the values.
      {
        retVal.push(keys[i])
      }
  }
  return retVal
}