【发布时间】:2017-03-20 18:58:35
【问题描述】:
使用 libaray 供参考:https://www.primefaces.org/primeng/#/dropdown
问题是选择显示第一个选项,但根据后端,该字段未定义。
<p-dropdown [options]="avaliableTemplates" [style]="{'width':'100%'}" required placeholder="Select Title" filter [(ngModel)]="selectedTemplate" name="selectedTemplate"></p-dropdown>
这是检查更改的代码:
@ViewChild('createCampaignForm') form;
this.form.control.valueChanges.debounceTime(1000).subscribe(values => this.doValidation(values));
这是我分配可用模板的方式
this.campaignService.getTemplates(this.authService).subscribe(x => {
this.avaliableTemplates = [];
for (var i = 0; i < x.length; i++) {
this.avaliableTemplates.push({
label: x[i].title,
value: x[i].id
});
}
});
基于以上内容,下拉菜单似乎默认为未定义,而是数组中的第一个元素。但它甚至不承认在后端选择了第一个元素。
【问题讨论】:
-
您确定 selectedTemplate 为 null 或未定义吗?你知道primeng版本吗?此外,将其更改为 array.map,更优雅:)
-
@Fals 最新版本 2.0.4,是的 selectedTemplate 未定义,如 img 中所示,我会很酷
标签: javascript angular primeng