angular - PrimeNG - PrimeFaces
问题描述
我正在使用带有 PrimeNG 的 Angular 表单,并且我正在尝试使用初始值初始化下拉列表,但对我不起作用。我也尝试使用 setValue 方法但不起作用。
这是html代码
<form [formGroup]="filtersForm">
<div class="ui-g-3">
<div class="form-control">
<p-dropdown formControlName="dimensionRule" class="dropdown" [options]="monedasMock" optionLabel="label"></p-dropdown>
</div>
</div>
</form>
这是用 TypeScript 编写的 JavaScript 代码
public ngOnInit() : void {
this.monedasMock = [
{ 'label': 'Euro', 'value': '1' },
{ 'label': 'Peseta', 'value': '2' },
{ 'label': 'Florin', 'value': '3' },
{ 'label': 'Marco', 'value': '4' }
];
this.filtersForm = this.fBuilder.group({
"descriptionRule": new FormControl(),
"dimensionRule": new FormControl('Florin'), // This is the value that I want to initialize
"processRule": new FormControl()
});
}
解决方案
如果您使用的是SelectItem {value:any, label:string}。
要在下拉元素中预选一个选项,您必须传递“值”属性。
在这种情况下:
...
"dimensionRule": new FormControl('3'),
...
SelectItem 集合不需要“optionLabel”。
推荐阅读
- udp - Linux 上传入网络包的延迟 - 如何分析?
- sql - 在 SQL 中计算年度升级
- css - 在反应组件中转译 CSS 类名无法正常工作
- python - 卡在用 python 将图像制作成 ascii 程序的最后一部分
- python - 每 3 个值创建一个包含 3 个值的列表
- ios - 在 C/C++ 中使用 MIDISendEventList() 发送 MIDI
- javascript - 当xhr返回503时如何自动重新运行ajax调用
- sql - 从 VARCHAR2 中提取最近的日期
- azure - Azure AD:请求的联合领域对象不存在
- android - 一起使用 Inject 和 AssistedInject