Я не уверен, что это то, что вы хотите:
https://stackblitz.com/edit/angular-aphp8r
Я создал группу форм, которая проверяет значение его детей:
this.form = new FormGroup({
gender: new FormControl(),
age: new FormControl(),
city: new FormControl()
});
когда вы щелкаете по радиокнопке, его значение передается в массив, и условие
array_two.length <= 1 становится истинным: </p>
this.Gender.valueChanges.subscribe(
(x) => {
this.array_one.push(x);
}
);
this.Age.valueChanges.subscribe(
(x) => {
this.array_one.push(x);
}
);
this.City.valueChanges.subscribe(
(x) => {
this.array_one.push(x);
}
);
, когда действие инициируется в группе форм,группа form проверяет дочерние элементы formcontrol и просматривает их значение, если значение равно null, это означает, что оно не было проверено, поэтому отключает formcontrol.Чтобы получить это, я просто перебираю объект, чтобы получить ключ, ключ - это имя formcontrol, и я использую его, чтобы отключить его, если оно пустое.
this.form.valueChanges.subscribe(
(x) => {
if(this.array_one.length >= 1) {
for(var k in x) {
console.log(k, x[k]);
if(x[k] == null) {
this.form.get(k).disable();
}
}
}
}
);
Если у вас есть какие-либо вопросы относительнокод или другие вещи, пожалуйста, скажите мне.Я настоятельно рекомендую вам использовать реактивную форму [0], чтобы полностью контролировать логику.
[0] https://angular.io/guide/reactive-forms