从选择菜单删除空白行

时间:2019-09-13 17:46:08

标签: angular typescript angular7

我有这个列表:

export enum UserRoleType {
  masterAdmin = 'ROLE_MASTER_ADMIN'
  merchantAdmin = 'ROLE_MERCHANT_ADMIN'
  resellerAdmin = 'ROLE_RESELLER_ADMIN'
}

export const AdminRoleType2LabelMapping = {
  [UserRoleType.masterAdmin]: 'Master Admin'
};

export const MerchantRoleType2LabelMapping = {
  [UserRoleType.merchantAdmin]: 'Merchant Admin'
};

export const ResellerRoleType2LabelMapping = {
  [UserRoleType.resellerAdmin]: 'Reseller Admin'

};


public ResellerRoleType2LabelMapping = ResellerRoleType2LabelMapping;
  public roleTypes = Object.values(UserRoleType).filter(value => typeof value === 'string');

下拉菜单:

<select class="custom-select" formControlName="role">
        <option [value]="roleType" *ngFor="let roleType of roleTypes">{{ ResellerRoleType2LabelMapping[roleType] }}</option>
        <div class="help-block form-text with-errors form-control-feedback" *ngIf="controlHasErrors('role')">
          {{controlValidateMessage('role')}}
        </div>
      </select>

我试图只使用这样的键:

public roleTypes = Object.keys(UserRoleType).filter(value => typeof value === 'string');

但是我只能得到空白行。

我想根据页面的类型显示不同的const。但是由于某种原因,我得到带有几个空白行和所需列表的选择菜单。你知道我该怎么解决吗?

1 个答案:

答案 0 :(得分:0)

 roleTypes = Object.keys(UserRoleType).filter(key => typeof UserRoleType[key] === 'string');

工作demo 如果要在下拉列表demo中使用枚举值 我在下拉列表中看到您正在加载ResellerRoleType2LabelMapping [role]的选项,该选项将匹配1/3。因此2将是空白选项,一个将具有this之类的值。这就是你想要的吗?

相关问题