Angular2/PrimeNG - 无法显示下拉菜单

Posted

技术标签:

【中文标题】Angular2/PrimeNG - 无法显示下拉菜单【英文标题】:Angular2/PrimeNG - Cant display Dropdown 【发布时间】:2016-11-24 16:27:56 【问题描述】:

我正在为我的应用程序使用 PrimeNG 和 Angular2。

我有一个组件,它应该显示一个可选择主题的下拉菜单。 我遵循了PrimeNG Dropdown 文档,据我所知,我已经以相同的方式构建了所有内容。但我总是收到错误“''没有值访问器”

theme.component.ts:

import  Component, OnInit, Input  from '@angular/core'
import  Dropdown, SelectItem from 'primeng/primeng';

@Component(
   selector: 'my-themes',
   templateUrl: 'dist/html/theme.component.html',
   directives: [Dropdown],
)


export class ThemeComponent 
   selectables: SelectItem[];
   style: string;

   constructor() 
      this.selectables = [];
      this.selectables.push( label: 'Nightflat', value: 'Nightflat' );
      this.selectables.push( label: 'Flat', value: 'Flat' );
   
   ngOnInit() 

   


theme.component.html:

<p-dropdown [options]="selectables" [(ngModel)]="style"></p-dropdown>

任何想法可能是问题所在? :( 编辑:问题实际上是 ngModel。如果我从 html 标记中删除它,则会显示下拉列表。

【问题讨论】:

【参考方案1】:

类似的问题还有很多,看看这里

https://github.com/primefaces/primeng/issues/549 ngModel: No value accessor for ''

您也可以通过将ngModel 更改为model 来避免您的错误消息,但目前正在处理的primeng 存在问题。

也可以尝试禁用已弃用的表单。

import  disableDeprecatedForms, provideForms  from '@angular/forms';

bootstrap(AppComponent, [
disableDeprecatedForms(),
provideForms()]);

更新

据官方称primeng问题已解决,请看这里。

http://forum.primefaces.org/viewtopic.php?f=35&t=46238

【讨论】:

【参考方案2】:

类似的问题还有很多,看看这里

https://github.com/primefaces/primeng/issues/549 ngModel:''

没有值访问器

我遇到了同样的控制台错误, 只需添加 [ngModelOptions]="standalone: true 即可

【讨论】:

以上是关于Angular2/PrimeNG - 无法显示下拉菜单的主要内容,如果未能解决你的问题,请参考以下文章

如何将自定义图标添加到 Angular2 primeng Tree

Angular 2 / PrimeNG - 表达式在检查后发生了变化。在最后一个无效的表单控件上绑定 NgModel

选择下拉菜单后,动态输入字段无法正确显示

无法根据角度formarray下拉选择显示/隐藏div [关闭]

JCombobox 下拉列表不够大,无法显示所有项目

Plotly Dash:为啥我的图形无法通过多个下拉选择显示?