мат-слайд-тумблер угловой материал программно переключается - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь toggle toggle() через код:

шаблон

<mat-slide-toggle color="primary" (change)="updateFunc($event)"></mat-slide-toggle>

ts

updateFunc(e) {
  // do some checks to see if can be activated
  // if can't be activated, don't slide to on
  e.checked = false; // <--- does not work
  e.toggle(); // <-- does not work
}

Есть идеи?

- РЕДАКТИРОВАТЬ -

Чтобы уточнить, после события изменения кнопка включается. Моя функция запускается для выполнения некоторых тестов. Если тесты не пройдены, я хочу переключить ползунок обратно в положение выключения. Итак, как мне переключить кнопку (вкл или выкл) в моем коде? Это просто вопрос использования метода toggle () в моем коде или снятия флажка с переключателя в моем коде.

1 Ответ

0 голосов
/ 13 октября 2019

https://stackblitz.com/edit/angular-material-edh46h

<mat-slide-toggle #toggleElement class="example-margin" [checked]="checked" (change)="updateFunc($event)">
    Slide me!
</mat-slide-toggle>
  @ViewChild("toggleElement") ref: ElementRef;

  checked: boolean;

  ngOnInit() {
    this.checked = true;
  }

  updateFunc(e) {
    const someCondition = true;
    if (someCondition) {
      this.ref.checked = false;
    }
  }
...