将 P-Dropdown 选项映射到匹配选项或默认标签(如果不存在)

问题描述 投票:0回答:1

我将一个对象传递到子组件中,并使用数据填充 p 下拉列表。目前,下拉列表由可用选项的枚举填充,但是,有 2 个用例。

第一个是如果变量包含“”,则默认标签“选择城市”选项应该是下拉选项。 第二个是变量是否包含任何其他应该是当前选择的选项的内容。如果它与枚举中的可能值匹配以使用它,否则它应该将城市附加到下拉列表中,这样就不会出现重复的选项。

这是我到目前为止的代码:

export class Citys{
     @Input() city: String;
     cityOptions: CityEnum[] = Object.values(CityEnum);
     chosenCity: string;
}

<div>
   <p-dropdown [options]="cityOptions" [(ngModel)]="chosenCity" placeholder="Select a City"
   </p-dropdown>
</div>

export enum CityEnum{
   LON = "London",
   PAR = "Paris",
   VIE = "Vienna"
}

我尝试将输入作为占位符中的变量添加到列表中,但这也考虑了枚举中已存在的值。

html angular primeng
1个回答
0
投票

我实际上能够弄清楚,答案就在我面前。我可以将其作为字符串数组,而不是使用枚举类型的数组,因为我已经获取了值并只需将选项附加到选项列表中即可。

© www.soinside.com 2019 - 2024. All rights reserved.