Как правильно отключить ngbRadioGroup? - PullRequest
0 голосов
/ 10 октября 2019

В настоящее время я использую радиокнопки ng-bootstrap , преимущественно с Reactive Forms, но также в рамках пользовательских элементов управления, которые реализуют ControlValueAccessor.

Я пытаюсь выяснить, что было быправильный способ отключения всего ngbRadioGroup.

Я могу отключить его с помощью Reactive Forms, позвонив по номеру .disable(). Однако это прекрасно работает:

Q1: Как правильно отключить ngbRadioGroup, используя шаблонный подход?

Q2: Это так? можно отключить его с помощью Renderer2 или здесь есть ошибка? например, в настоящее время я делаю следующее, было бы здорово, если бы ngbRadioGroup мог работать с таким подходом:

@ViewChildren('control') private controls: QueryList<ElementRef>;

setDisabledState?(isDisabled: boolean): void {
   this.controls.forEach(control => {
       this.renderer.setProperty(control.nativeElement, 'disabled', isDisabled);
   });
}

ВотStackBlitz показывает, что я исследовал до сих пор: https://stackblitz.com/edit/angular-vp1ozl

1 Ответ

1 голос
/ 10 октября 2019

Вы можете использовать ViewChild для доступа к экземпляру NgbRadioGroup

@ViewChild(NgbRadioGroup,{static:true}) ngbRadioRef:NgbRadioGroup;

Затем вы можете динамически установить для свойства отключения значение true или false

disable(){
    this.ngbRadioRef.disabled = true;
  }

Пример

...