我将一个对象传递到子组件中,并使用数据填充 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"
}
我尝试将输入作为占位符中的变量添加到列表中,但这也考虑了枚举中已存在的值。
我实际上能够弄清楚,答案就在我面前。我可以将其作为字符串数组,而不是使用枚举类型的数组,因为我已经获取了值并只需将选项附加到选项列表中即可。