2017-09-29 15 views
7

Czasami tworzymy formularz, który ma wiele kontrolek wejściowych, które umożliwiają kontenerowi (np. Div) pokazywanie pionowego paska przewijania.Skonfiguruj FormControl, jeśli błąd md zostanie podniesiony

Definiuję ten formularz jako FormGroup, a każde wejście to FormControl, które ma wbudowany szablon md-error.

Jest możliwe, aby przewijać i skupiać formantu formularza, jeśli jego błąd md zostanie wyzwolony podczas wysyłania formularza?

Odpowiedz

1

Możesz spróbować użyć dyrektywy dla tego samego i umieścić ją na górze Form Form.

import { ElementRef, HostBinding, Input } from '@angular/core'; 
import { Directive } from '@angular/core'; 

@Directive({ 
    selector: '[scrollToError]' 
}) 

export class ScrollDirective { 
    constructor(private elRef:ElementRef) {} 

    @HostBinding('hidden') isError:boolean = false; 

    @Input() set scrollToError(cond) { 
     this.isError = cond; 
     if(cond) { 
      this.elRef.nativeElement.scrollIntoView(); 
      this.elRef.nativeElement.focus(); 
     } 
    } 

} 
+0

źle przetestować to i dzięki za odpowiedź –

+0

Witam! Próbuję użyć go w ten sposób na mojej kontroli ' To pole jest wymagane' nadal nie działa –

+0

musisz przekazać błąd do scrollTo, ponieważ używam wejścia tam i domyślnie jest ustawiona na false –

Powiązane problemy