반응 각 양식이 있습니다. 페이지가로드 될 때 양식에 이미 오류가 있는지 확인합니다.제출 단추를 누르기 전에 각도 형식이 검증되는 이유는 무엇입니까?
오류 지시문을 스크롤하고 오류 div에 집중하기 위해 스크롤을 사용하려고하지만 양식이 이미 유효성 검사를 거치지 않았습니다.
import { ElementRef, HostBinding, Input } from '@angular/core';
import { Directive } from '@angular/core';
@Directive({
selector: '[scrollTo]'
})
export class ScrollDirective {
constructor(private elRef:ElementRef) {}
@HostBinding('hidden') isError:boolean = false;
@Input() set scrollTo(cond) {
console.log(cond);
this.isError = cond;
if(cond) {
this.elRef.nativeElement.scrollIntoView();
this.elRef.nativeElement.focus();
}
}
}
여기는 오류를 확인하지만 이미 확인 된 상태이며, scrollTo를 맨 위에 놓으면 스크롤됩니다.
<div class="row">
<div class="col-md-12">
<span *ngIf="user.get('email').touched && !user.get('email').valid && !user.get('email').pristine">
<small [scrollTo] = "user.get('email').valid">Invalid email</small>
</span>
</div>
</div>
지금 업데이트
내가이
<div class="col-md-4" [scrollTo] = "user.get('age').valid">
<md-input-container>
<input mdInput type="number" formControlName="age" placeholder="Age" validate-onblur>
</md-input-container>
</div>
일들처럼 사용하고는 그 유효성 검사 오류가 표시됩니다 양식을 제출하고 난 초점과 스크롤 이동하려는에 거기 있니? 도와주세요 ?
입력 위에 놓을까요? – INFOSYS
dosent가 제출 버튼을 클릭 할 때 작동하는 것 같습니다. – INFOSYS
과 같은 질문을 업데이트했습니다. 올바른 요소에 포커스를 설정하도록 지시문을 변경 했습니까? div로 남겨두면 div가 기본 요소이지만 포커스를받을 수 없습니다. 아마도 새로운 속성을 사용하면 입력 참조 – Vega