p-下拉菜单不显示表单中的值

时间:2018-11-13 20:13:27

标签: angular forms dropdown primeng

当我使用绑定表单的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">

2 个答案:

答案 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元素用作占位符。