Angular2의 Blur 이벤트에서 사용하는 방법은 무엇입니까?
Angular2에서 OnBlur 이벤트를 어떻게 감지합니까?함께 사용하고 싶습니다.
<input type="text">
사용법을 이해하는 것을 도와줄 수 있는 사람이 있습니까?
사용하다(eventName)
이벤트를 DOM에 바인딩하는 동안, 기본적으로()
이벤트 바인딩에 사용됩니다.또한, 사용하기ngModel
에 대한 양방향 바인딩을 받다myModel
변수.
마크업
<input type="text" [(ngModel)]="myModel" (blur)="onBlurMethod()">
코드
export class AppComponent {
myModel: any;
constructor(){
this.myModel = '123';
}
onBlurMethod(){
alert(this.myModel)
}
}
대안 1
<input type="text" [ngModel]="myModel" (ngModelChange)="myModel=$event">
대안 2 (바람직하지 않음)
<input type="text" #input (blur)="onBlurMethod($event.target.value)">
모델 기반 폼에서 유효성 검사 실행blur
당신은 통과할 수 있습니다.updateOn
매개 변수
ctrl = new FormControl('', {
updateOn: 'blur', //default will be change
validators: [Validators.required]
});
다음과 같은 이벤트를 사용할 수도 있습니다.
사용하다(eventName)
이벤트를 DOM에 바인딩하는 동안, 기본적으로()
이벤트 바인딩에 사용됩니다.또한 사용할 수 있습니다.ngModel
양방향 바인딩을 받다model
의 도움으로ngModel
당신은 조작할 수 있습니다.model
내부의 변수 값component
.
HTML 파일에서 이 작업 수행
<input type="text" [(ngModel)]="model" (focusout)="someMethodWithFocusOutEvent($event)">
그리고 (구성요소) .ts 파일에
export class AppComponent {
model: any;
constructor(){ }
/*
* This method will get called once we remove the focus from the above input box
*/
someMethodWithFocusOutEvent() {
console.log('Your method called');
// Do something here
}
}
입력 태그에 이벤트를 직접 사용할 수 있습니다.
<div>
<input [value]="" (blur)="result = $event.target.value" placeholder="Type Something">
{{result}}
</div>
그러면 "결과"로 출력됩니다.
HTML
<input name="email" placeholder="Email" (blur)="$event.target.value=removeSpaces($event.target.value)" value="">
TS
removeSpaces(string) {
let splitStr = string.split(' ').join('');
return splitStr;
}
/*for reich text editor */
public options: Object = {
charCounterCount: true,
height: 300,
inlineMode: false,
toolbarFixed: false,
fontFamilySelection: true,
fontSizeSelection: true,
paragraphFormatSelection: true,
events: {
'froalaEditor.blur': (e, editor) => { this.handleContentChange(editor.html.get()); }}
다음은 Github repo에 대한 제안된 답변입니다.
// example without validators
const c = new FormControl('', { updateOn: 'blur' });
// example with validators
const c= new FormControl('', {
validators: Validators.required,
updateOn: 'blur'
});
Github : feat(폼): FormControls에 updateOnburgh 옵션 추가
(흐림) 대신 (초점)을 사용해 보십시오.
다른 가능한 대안
HTML 구성 요소 파일:
<input formControlName="myInputFieldName" (blur)="onBlurEvent($event)">
TypeScript 구성 요소 파일:
import { OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
export class MyEditComponent implements OnInit {
public myForm: FormGroup;
constructor(private readonly formBuilder: FormBuilder) { }
ngOnInit() {
this.myForm = this.formBuilder.group({
myInputFieldName: ['initial value', { validators: [Validators.required, Validators.maxLength(100), anotherValidator], updateOn: 'blur' }],
});
}
onBlurEvent(event) {
// implement here what you want
if (event.currentTarget && event.currentTarget.value && event.currentTarget.value !== '') { }
}
}
저는 Angular 14에서 이런 일을 하게 되었습니다.
<form name="someForm" #f="ngForm" (ngSubmit)="onSubmit(f)"> ...
<input
matInput
type="email"
name="email"
autocomplete="email"
placeholder="EMAIL"
[ngModel]="payload.email"
#email="ngModel"
(blur)="checkEmailBlur(f)"
required
email
tabindex="1"
autofocus
/>
그 다음에... .ts로
checkEmailBlur(f: NgForm) {
const email = f.value.email;
언급URL : https://stackoverflow.com/questions/34918198/how-to-use-onblur-event-on-angular2
'programing' 카테고리의 다른 글
PostgreSQL에서 정렬로 고정된 수의 행을 삭제하려면 어떻게 해야 합니까? (0) | 2023.05.16 |
---|---|
새 프로젝트에 대한 새 빈 분기 생성 (0) | 2023.05.16 |
sqlalchemy.ex.해당 모듈 오류 없음:플러그인을 로드할 수 없습니다. sqlalchemy.dialects:postgres (0) | 2023.05.11 |
확장명 없이 파일 이름 가져오기 (0) | 2023.05.11 |
Postgre에 대한 원격 액세스를 허용하는 방법SQL 데이터베이스 (0) | 2023.05.11 |