Угловые реактивные формы инвалидов группы - PullRequest
0 голосов
/ 03 декабря 2018

Я использую угловые реактивные формы.На моей странице мне нужно дополнительно включить / отключить поля (текущий пароль и новый пароль + подтверждение), чтобы я мог использовать form.value и получать только те вещи, которые мне нужны (там не будет отключенных элементов управления).Тем не менее, я нашел способ отключения FormControl, однако мне нужно отключить всю группу.

Это моя группа

formGroup: FormGroup = this.fb.group({
...
        password: this.fb.group({
            current: ['', Validators.required],
            new: this.fb.group({
                password: [{
                    value: '',
                    disabled: this.changePassword.value
                }, Validators.required],
                passwordConfirm: [{
                    value: '',
                    disabled: this.changePassword.value
                }, Validators.required]
            }, {validator: PasswordValidator.MatchPassword})
        })
    });

И это на самом деле не работает.Как отключить целую password FormGroup, прикрепив отключенное состояние к автономному FormControl (флажок).

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Решено

ngOnInit() {
        this.formGroup.get('password').enable();
        // changePassword: FormControl
        this.changePassword.valueChanges.subscribe(e => {
            if (!this.changePassword.value) {
                this.formGroup.get('password').disable();
            } else {
                this.formGroup.get('password').enable();
            }
        });
    }
0 голосов
/ 03 декабря 2018

вы можете открыть тег fieldset внутри тега form и использовать директиву disable в соответствии со значением элемента управления

<fieldset [disabled]="changePassword">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...