Điều này khiến tôi phát điên, tôi ở dưới súng và không thể đủ khả năng chi tiêu cả ngày nữa.Đặt giá trị theo cách thủ công cho điều khiển FormBuilder
Tôi đang cố đặt thủ công giá trị điều khiển ('dept') trong thành phần và giá trị của nó không hoạt động - ngay cả giá trị mới ghi vào bảng điều khiển đúng cách.
Đây là FormBuilder Instance:
initForm() {
this.form = this.fb.group({
'name': ['', Validators.required],
'dept': ['', Validators.required],
'description': ['', Validators.required],
});
}
Đây là xử lý sự kiện tiếp nhận các dept chọn:
deptSelected(selected: { id: string; text: string }) {
console.log(selected) // Shows proper selection!
// This is how I am trying to set the value
this.form.controls['dept'].value = selected.id;
}
Bây giờ khi biểu mẫu được gửi và đăng xuất this.form
lĩnh vực này vẫn là chỗ trống! Tôi đã nhìn thấy sử dụng ppl khác updateValue()
nhưng đây là phiên bản beta.1 và tôi không thấy đó là phương thức hợp lệ để gọi trên điều khiển.
Tôi cũng đã cố gắng gọi updateValueAndValidity()
không thành công :(.
tôi sẽ chỉ cần sử dụng ngControl="dept"
trên các yếu tố hình thức, giống như tôi đang làm với phần còn lại của hình thức nhưng nó một chỉ thị tùy chỉnh/phần.
<ng-select
[data]="dept"
[multiple]="false"
[items]="depts"
(selected)="deptSelected($event)" <!-- This is how the value gets to me -->
[placeholder]="'No Dept Selected'"></ng-select>
tôi đã chạy vào tình huống tương tự, kịch bản được các giá trị đã được thiết lập trong http.get-đăng ký và tải giá trị biểu mẫu, nhưng thiết lập dòng giá trị được thực hiện trước, đăng ký thực sự được thực thi sau này là không đồng bộ. do đó, đặt giá trị trong đăng ký đảm bảo thiết lập của nó. my2cents! – HydTechie