홈>
템플릿 기반 양식을 사용하고 있습니다.
부모 구성 요소 HTML
<form #BasicForm="ngForm" (ngSubmit)="onBasicDetailsSubmit()" id="BasicForm">
<app-input-text [(sharedVar)]="dashboardDetails.Text1" [isMandatory]="true" ></app-input-text>
<app-input-text [(sharedVar)]="dashboardDetails.Text2" [isMandatory]="false"></app-input-text>
<input type="submit" value="Save" [disabled]="!BasicForm.valid" class="btn btn-success">
</form>
자식 구성 요소
TS
@Input() sharedVar: number;
@Input() isMandatory: boolean;
@Output() sharedVarChange = new EventEmitter();
change(newValue) {
this.sharedVar = newValue;
this.sharedVarChange.emit(newValue);
}
HTML
<input type="text" class="form-control" [(ngModel)]="sharedVar" (ngModelChange)="change($event)" [attr.required]="isMandatory">
제출 버튼이 비활성화되지 않습니다. 나는
required
쓰기를 시도했습니다
부모 구성 요소 선택기뿐만 아니라 자식 구성 요소에서도 작동하지만 작동하지 않습니다. 도와주세요.
- 답변 # 1
- 답변 # 2
부모 구성 요소 HTML
<input id="iban" name="iban" [(ngModel)]="bank.iban" #ibanRef="ngModel" [required]="isMandatory" registerChildComponentToForm/>
부모 구성 요소 TS
<app-input-text [(sharedVar)]="dashboardDetails.Text1" (sharedVarChange)="sharedVarChangeHandle($event)" ...
부모 구성 요소 HTML
sharedVarChangeHandle($event) { // by evaluating the value passed you can update a variable (ex: disableSubmit) }
- 답변 # 3
자식 구성 요소 ts
<input type="submit" value="Save" [disabled]="!disableSubmit" class="bt .....
valid // this is a public variable change(newValue) { this.sharedVar = newValue; this.sharedVarChange.emit(newValue); // here conditioanally update the **valid** variable (true or false) }
관련 자료
- reactjs - 모든 입력 필드가 완료되지 않은 경우 React 기능 구성 요소에서 제출 버튼 비활성화
- javascript - 부모 버튼이있는 자식에서 양식 제출 트리거 반응
- validation - 제출 단추를 비활성화하는 WPF ValidationRule 및 DataTrigger
- reactjs - 부모 입력 기능 및 버튼 클릭을 기반으로 비활성화 및 활성화 버튼 반응
- javascript - 정규식이 일치하지 않을 때 제출 버튼을 비활성화하는 방법
- jquery - 입력 값에 따라 제출 버튼을 비활성화 및 활성화하는 방법
- html - 자바 스크립트 - x 초 동안 제출 버튼 비활성화
- javascript - jQuery에서 제출 버튼을 비활성화하는 방법은 무엇입니까?
- javascript - 비활성화 제출 버튼을 jQuery에서 alpinejs로 변환하는 방법은 무엇입니까?
- javascript - Vue에서 상위 뷰를 하위 경로 구성 요소로 바꾸는 방법
- python - 헤드리스 할미새의 페이지에 대한 '라이브'보기 버튼을 비활성화하는 방법
- twitter bootstrap - jQuery는 모든 양식 필드에 양식 제출 전에 클래스가있는 경우에만 제출 단추를 활성화합니다
- vue.js - 입력 필드가 다른 필드보다 큰 경우 버튼 비활성화
- jquery 유효성 검사로 버튼 비활성화
- javascript - 확인란을 클릭하지 않은 경우 버튼 비활성화
- javascript - Loader의 구성 요소를 QtQuick 객체의 부모로 만드는 방법은 무엇입니까?
- angular - 자식 구성 요소에서 부모 구성 요소로 데이터를 보내는 방법은 무엇입니까?
- c# - WPF MVVM에서 올바른 유효성 검사가 될 때까지 버튼을 비활성화하는 방법
- c# - Blazor에서 렌더링하기 전에 자식에서 부모 구성 요소로 일부 데이터 보내기
- reactjs - 자식 구성 요소의 배열이 주어지면 부모 구성 요소에서 상태 데이터에 액세스하는 방법은 무엇입니까?
관련 질문
- Angular router.navigate가 MatDialog에서 작동하지 않습니다.
- javascript : 동일한 Array Angular의 서로 다른 두 위치에 데이터를 표시하려면 ngFor를 사용하십시오.
- Angular 6은 X-XSRF-TOKEN 헤더를 http 요청에 추가하지 않습니다.
- javascript : Angular 6 애니메이션 앞으로(Angular의 애니메이션 채우기 모드)
- Angular 6에서 @Output을 사용하여 객체 배열을 내보내는 방법은 무엇입니까?
- Angular 6 업데이트 -rxjs-5-to-6-migrate 명령을 찾을 수 없음
- 프로덕션 빌드에서 Angular 앱 스크립트의 경로를 변경하는 방법은 무엇입니까?
Template-Driven-Form
를 사용하면서 ,Child components
를 확인하는 가장 좋은 방법custom-Directive
를 만드는 것입니다 이렇게하면 Child-Component-Form에서 확인할 각 필드에 항상 추가 할 수 있습니다.이것을 사용할 수 있습니다 :
declarations
에 등록하십시오. 그리고exports
당신의App-Module
에서당신의
<app-input-text>
를 제공 이HTML
입니까 코드를 입력하면directive
를 사용해야합니다. (와이즈 와이즈) ) 이렇게 :