Tôi nhận thấy rằng nếu tôi vô hiệu hóa điều khiển trên biểu mẫu phản ứng Angular 2 thì điều khiển đó sẽ không được đưa vào form.value. Ví dụ: nếu tôi xác định biểu mẫu của mình như dưới đây:
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)
});
và kiểm tra giá trị this.notelinkingForm.value, nếu tất cả các điều khiển được bật thì kết quả đầu ra sẽ là:
{"Enabled":true, "LinkToPreceeding": true, LinkingTolerance:"100"}
Tuy nhiên, khi một số điều khiển bị tắt, nó sẽ là:
{"Enabled":true}
Lưu ý cách loại trừ các điều khiển bị vô hiệu hóa.
Ý định của tôi là khi biểu mẫu thay đổi, tôi muốn có thể chuyển form.value với tất cả các thuộc tính trong nó sang API còn lại của tôi. Điều này rõ ràng sẽ không thể thực hiện được nếu nó không chứa các mục bị vô hiệu hóa.
Tôi đang thiếu một cái gì đó ở đây hay đây là hành vi được mong đợi? Có cách nào để yêu cầu Angular đưa các mục bị vô hiệu hóa vào form.value không?
Hoan nghênh những suy nghĩ của bạn.