내 페이지에 반응 형 양식이 있습니다.Angular 2+ Reactive Form에서 독립적 인 ngModel 사용
다음은 코드의 요약이다 : 그것은 까다로운 얻는 곳
<div class="container">
<form [formGroup]="transactionForm" (ngSubmit)="onSubmit(transactionForm)">
<div formGroupName="userInfoGroup" class="form-group">
<input formControlName="name" class="form-control" placeholder="Larry" id="name">
</div>
...
</form>
</div>
가 여기에 있습니다. 나는 사용자가 그들을 추천 한 사람의 정보를 입력 할 수 있기를 원합니다 (데이터베이스에 존재하거나 존재하지 않을 수도 있음). 그래서 ng-bootstrap typeahead을 사용하여 검색 방법을 제공하려면 기존 사용자의을 검색하십시오.
그래서 나는 NG-부트 스트랩에서 html
및 ts
코드를 복사하고, 지금 내 템플릿 내가이 지금은 얻을 오류 실행하면
<div class="container">
<form [formGroup]="transactionForm" (ngSubmit)="onSubmit(transactionForm)">
<div formGroupName="userInfoGroup" class="form-group">
<input formControlName="name" class="form-control" placeholder="Larry" id="name">
</div>
<input id="typeahead-http" type="text" class="form-control" [(ngModel)]="model" [ngbTypeahead]="searchForReferrer" placeholder="Search for Referrer" />
...
</form>
</div>
과 같습니다
RegisterTransaction.html:154 ERROR TypeError: Cannot read property 'lift' of undefined
at tapOperatorFunction (tap.js:52)
at _do (do.js:48)
at NgbTypeahead.webpackJsonp.../../../../@ng-bootstrap/ng-bootstrap/typeahead/typeahead.js.NgbTypeahead.ngOnInit (typeahead.js:73)
at checkAndUpdateDirectiveInline (core.es5.js:10843)
at checkAndUpdateNodeInline (core.es5.js:12341)
at checkAndUpdateNode (core.es5.js:12284)
at debugCheckAndUpdateNode (core.es5.js:13141)
at debugCheckDirectivesFn (core.es5.js:13082)
at Object.View_RegisterTransaction_0._co [as updateDirectives] (RegisterTransaction.html:163)
at Object.debugUpdateDirectives [as updateDirectives] (core.es5.js:13067)
[1]: https://ng-bootstrap.github.io/#/components/typeahead/examples
을하고 있다면 단지 삭제 [ngbTypeahead]="searchForReferrer"
받으십시오
RegisterTransaction.html:154 ERROR Error:
ngModel cannot be used to register form controls with a parent formGroup directive. Try using
formGroup's partner directive "formControlName" instead. Example:
<div [formGroup]="myGroup">
<input formControlName="firstName">
</div>
In your class:
this.myGroup = new FormGroup({
firstName: new FormControl()
});
Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:
Example:
<div [formGroup]="myGroup">
<input formControlName="firstName">
<input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">
</div>
at Function.webpackJsonp.../../../forms/@angular/forms.es5.js.TemplateDrivenErrors.modelParentException (forms.es5.js:4110)
at NgModel.webpackJsonp.../../../forms/@angular/forms.es5.js.NgModel._checkParentType (forms.es5.js:4430)
at NgModel.webpackJsonp.../../../forms/@angular/forms.es5.js.NgModel._checkForErrors (forms.es5.js:4417)
at NgModel.webpackJsonp.../../../forms/@angular/forms.es5.js.NgModel.ngOnChanges (forms.es5.js:4324)
at checkAndUpdateDirectiveInline (core.es5.js:10840)
at checkAndUpdateNodeInline (core.es5.js:12341)
at checkAndUpdateNode (core.es5.js:12284)
at debugCheckAndUpdateNode (core.es5.js:13141)
at debugCheckDirectivesFn (core.es5.js:13082)
at Object.View_RegisterTransaction_0._co [as updateDirectives] (RegisterTransaction.html:163)
기존 반응 형 양식 내에서이 검색을 올바르게 사용하려면 어떻게해야합니까? 내 코드를 확인하기 위해 저를 prodded @Aluan 하다드에
그래서'searchForReferrer'에 대한 코드를 보여주세요. –
@AluanHaddad ng-bootstrap (위키 피 디아 예제)의 예제와 정확히 동일합니다. – CodyBugstein
위키피디아에는 위와 같은 기사가 없습니다. 어쨌든 당신은 무언가를 반환하지 않거나 필요한 바인딩을 어딘가에 설정하지 않습니다. –