【问题标题】:PrimeNG p-dropdown not taking custom default valuePrimeNG p-dropdown 不采用自定义默认值
【发布时间】:2021-03-02 20:04:15
【问题描述】:

我在我的应用程序中使用p-dropdown,并注意到在升级到 PrimeNG 9 和 Angular 10 后,p-dropdown 不再将自定义值作为默​​认值。相反,它将选项列表中存在的第一个值作为默认值。此外,标签现在仅填充下拉列表的一半,而重置为空。我怎样才能解决这个问题?提前致谢。

这是我的模板:

<div fxLayout="row" fxLayoutAlign="end center" fxLayoutGap="10px">
    <p-dropdown [options]="cityList" tooltipPosition="left" [(ngModel)]="selectedCity" optionLabel="label"></p-dropdown>
    <p-dropdown [options]="carList" tooltipPosition="left" [(ngModel)]="selectedCar" optionLabel="label"></p-dropdown>
    </p-button>
</div>

这是我的 ts 代码:

this.carList = [{ label: 'BMW', value: 'BMW' },{ label: 'Tesla', value: 'Tesla' },{ label: 'Toyota', value: 'Toyota' }];
this.cityList = [{ label: 'New York', value: 'New York' },{ label: 'Chicago', value: 'Chicago' },{ label: 'Boston', value: 'Boston' }];


this.selectedCity = { label: 'None', value: 'None' };
this.selectedCar = { label: 'None', value: 'None' };

【问题讨论】:

  • 您应该对齐 PrimeNG 和 Angular 版本。见explanations
  • 是的,我正计划调整它们,我肯定会引发另一组问题:)

标签: html angular primeng primeng-dropdowns


【解决方案1】:

为了让下拉菜单将默认值设置为您的自定义值,您的值必须是列表的一部分。因此,如果您想将其最初设置为“无”,则需要在列表中包含“无”。请注意,您的 selectedCityselectedCar 应该只设置为值,而不是 selectItems。所以你应该只拥有selectedCity = 'None' 等。

如果您不想在列表中添加“无”,我建议您改用占位符 - 在其中显示 placeholder 直到选择了一个值

【讨论】:

    猜你喜欢
    • 2022-06-27
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    • 2016-11-01
    • 1970-01-01
    • 2019-01-02
    • 2018-09-15
    • 1970-01-01
    相关资源
    最近更新 更多