我有一个非常奇怪的问题,我无法弄清楚,当使用“Chrome”时,我的对象有时会变为空,但在 IE 中它总是有效。它只发生在我所有的下拉菜单中,但是,像文本框这样的其他控件按预期工作......这是我的代码的简化版本。
注意:dropdrow 绑定正确,所以值在 html 中可用
HTML(使用响应式表单)
<label for="costCenterId" class="control-label">Cost Center</label>
<p-dropdown [options]="iCostCenter" optionLabel="cost_center_name" styleClass="form-control"
formControlName="costCenter" id="costCenterId" name="costCenter" dataKey="cost_center_id"
[filter]="true" filterBy="value.cost_center_name">
</p-dropdown>
TS
export interface ICostCenter{
cost_center_id: number,
cost_center_name: string
}
iCostCenter: ICostCenter[]=[];
ngOnInit() {
this.getAllCostCenetrs();
this.populateHeaderDet();
}
getAllCostCenetrs() {
this._appParams.getAllCostCenters()
.subscribe(
data => {
this.iCostCenter = data.result;
},
error => 'GetAllCostCenetrs Method: ');
}
populateHeaderDet() in chrome iCostCenter become null
{
this.ersaForm.patchValue({
costCenter: this.iCostCenter.find(cc => cc.cost_center_name === this.iRequest.costCenter.cost_center_name)
)};
JSON
{
"result": [
{
"cost_center_id": 1,
"cost_center_name": "1"
},
{
"cost_center_id":2,
"cost_center_name": "2"
}
]
}