当我使用绑定表单的p-dropdown组件时遇到问题。我有一个带有表单控件的表单组,这些表单控件已预先加载了我们自己的值,并且其中一个控件的值应显示在p-dropdown组件中。但是页面加载时不可见。
我使用下拉菜单如下:
Exception in thread "main" java.lang.NullPointerException
at Cilindru.<init>(Cilindru.java:22)
at Cilindru.main(Cilindru.java:62)
我的组件有一个表单组,该组具有一个名为vehicleType的表单控件,并且具有该值。
<p-dropdown [options]="vehicleTypes" placeholder="Vehicle Type" optionLabel="label" formControlName="vehicleType">
答案 0 :(得分:1)
为什么在formcontrol中有标签?只需将值保留在formControl中,就像这样:
app.component.ts
appForm: FormGroup;
vehicles = [
{value: 1, label: 'v1'},
{value: 2, label: 'v2'},
{value: 3, label: 'v3'},
{value: 4, label: 'v4'},
{value: 5, label: 'v5'},
{value: 6, label: 'v6'},
]
constructor(
private fb: FormBuilder
) {}
ngOnInit() {
this.appForm = this.fb.group({
vehicleType: new FormControl(2)
});
app.component.html
<form [formGroup]="appForm">
<p-dropdown [optionLabel]="label" placeholder="Vehicle Type"
[options]="vehicles" formControlName="vehicleType"></p-dropdown>
</form>
答案 1 :(得分:0)
必须将值设置为vehicleTypes
,例如:
vehicleTypes = [
{label: "TYPE 1", value: "1"}
]
和vehicleType
是一个像Bravin所说的FormControl。
通常,我们可以将first元素用作占位符。