2017-09-18 2 views
0

ngModel없이 입력 상자에 대문자 파이프를 사용하고 싶습니다. 양식 작성기도 사용하고 있습니다. 대문자로 된 모든 양식 값을 변환하는 방법.UpperCasePipe (각도 4 입력)

<form [formGroup]="addTrackForm" (ngSubmit)="addTrack(addTrackForm.value)"> 
    <input type="text" formControlName="name" /> 
    <input type="text" formControlName="adminAdamGroup" class="inputTxt" /> 
    <button type="submit" class="btn btn-primary btn-sm" [disabled]="!addTrackForm.valid">Add</button> 
</form> 

답변

0

변경 이벤트를 내 보내지 않고 컨트롤의 값을 설정하기 만하면됩니다. 양식의 모든 값에 루프는 다음과 같이 수행 할 수 있습니다

this.form.valueChanges.do(values=>{ 
    Object.keys(values).forEach(k=>{ 
    this.form.get(k).setValue(value.toUpperCase(),{emitEvent:false}); 
    }); 
}).subscribe(); 

또한 create a component or directive that implements ControlValueAccessor 및 변환을 처리 할 수 ​​있습니다.

1

솔루션. 다음과 같이 입력을 사용할 수 있습니다.

(input)="orderForm.patchValue({nome: $event.target.value.toUpperCase()})"