ฉันสังเกตเห็นว่าถ้าฉันปิดใช้งานตัวควบคุมในรูปแบบปฏิกิริยา Angular 2 ตัวควบคุมจะไม่รวมอยู่ใน form.value ตัวอย่างเช่นหากฉันกำหนดแบบฟอร์มของฉันดังนี้:
this.notelinkingForm = new FormGroup({
Enabled: new FormControl(settings.Enabled, Validators.required),
LinkToPreceeding: new FormControl({value: settings.LinkToPreceeding, disabled: !settings.Enabled}, Validators.required),
LinkingTolerance: new FormControl({value: settings.LinkingTolerance, disabled: !settings.Enabled}, Validators.required)
});
และตรวจสอบ this.notelinkingForm.value หากเปิดใช้งานการควบคุมทั้งหมดเอาต์พุตจะเป็น:
{"Enabled":true, "LinkToPreceeding": true, LinkingTolerance:"100"}
อย่างไรก็ตามเมื่อปิดใช้งานการควบคุมบางส่วนจะเป็น:
{"Enabled":true}
สังเกตว่ามีการยกเว้นการควบคุมที่ปิดใช้งานอย่างไร
จุดประสงค์ของฉันคือเมื่อแบบฟอร์มเปลี่ยนแปลงฉันต้องการให้สามารถส่ง form.value พร้อมคุณสมบัติทั้งหมดในนั้นออกไปยัง API ที่เหลือของฉัน สิ่งนี้จะเป็นไปไม่ได้อย่างชัดเจนหากไม่มีรายการที่ปิดใช้งาน
ฉันพลาดอะไรบางอย่างที่นี่หรือนี่คือพฤติกรรมที่คาดไว้? มีวิธีบอกให้ Angular รวมรายการที่ปิดใช้งานใน form.value หรือไม่
ยินดีต้อนรับความคิดของคุณ