這是我的code.
經歷千辛萬苦終於做到custom form control, 可是每當網頁refresh 時就會出現以下這句:
callTreeEntryForm.value={ "attributesForm": null }
可是當我清空division 這個field 時,就會出現:
callTreeEntryForm.value={ "attributesForm": { "division": "" } }
請問如何設定attributesForm的initial value使它有division這個child 呢?
因為在不改動form情況下, 按save button,可以在console看到,this.callTreeEntryForm的值是:
{attributesForm: null}
我試過在attributesForm.component.ts 內的ngOnInit 動手腳,但不成功。
另外,因為在attributesForm 的constructor 內 callTreeEntry是等undefined, 所以不能設定this.division這個form control.
那你的 custom form control 在回傳的值就會是直接回傳, onChanges(value) 這樣
我想做到効果是當網頁refresh 之後,就出現以下:
callTreeEntryForm.value={ "attributesForm": { "division": "" } }
而不是:
callTreeEntryForm.value={ "attributesForm": null }
基本概念是,外部 formControl/ngModel 收到的值,就是內部 onChanges 傳進去的值
謝謝你提點
我將原本的 registerOnChange(fn: any) method
registerOnChange(fn: any) {
this.attributesForm.valueChanges.subscribe(fn);
}
改成這樣就OK 了
registerOnChange(fn: any) {
this.attributesForm.valueChanges.subscribe(fn);
this.division.setValue(this.callTreeEntry.division);
console.log("registerOnChange");
}
我做到了
1個讚