ng-bootstrap typeahead 요소를 사용하면 개체 제안의 배열을 가져온 다음 모델을 선택한 개체가되도록 하나를 선택하여 사용할 수 있습니다.개체를 가져 오거나 표시 할 때 선행 기입을 사용할 수 있지만 문자열을 받아 들여 응답하는 방법은 무엇입니까?
The full code can be seen in this Plunkr. 미국의 주를 검색 한 다음 model
결과를 관찰하여 테스트하십시오. 여기
<label for="typeahead-template">Search for a state:</label>
<input id="typeahead-template" type="text" class="form-control" [(ngModel)]="model" [ngbTypeahead]="search" [resultTemplate]="rt"
[inputFormatter]="formatter" />
<hr>
<pre>Model: {{ model | json }}</pre>
모델 알라바마가되지 않지만, 오히려 내 상황에서
{
"name": "Alabama",
"flag": "5/5c/Flag_of_Alabama.svg/45px-Flag_of_Alabama.svg.png"
}
, 나는 모델을 좀하고 싶습니다 Alabama
. 내 양식으로 서버에 이미지와 다른 데이터를 다시 보내고 싶지 않습니다.
ng-bootstrap에서 제공 한 (selectItem)
이벤트를 사용해 보았습니다. 수동으로 값을 변경했지만 작동하지 않습니다. 모델은 동일하게 유지됩니다 - 객체가 아닌 문자열!.
즉
selectItem(e: NgbTypeaheadSelectItemEvent, fubi: any){
console.log("e.item.name", e.item.name);
this.addressForm.patchValue({
statename: e.item.name
});
}
내 폼의 statename
속성입니다 이런 식으로
어떤 아이디어가 왜 전화했을 때 업데이트되지? 나는 모든 명백한 것들을 시도했다. 나는 믿는다.
Plunkr을 수정하여 FormGroup 및 FormControl을 사용하여 수행하려는 작업을 보여줄 수 있습니까? 나는 당신이 무엇을하려고 하는지를 알 수 없다 ... 처음부터, 나는 당신이 원하는 함수를 명명하고 (selectItem) 속성에서 참조하는 대신에 selectItem이라고 부르는 함수를 만들었다 고 생각했다. 귀하의 입력 태그에. – Nokes
내 마지막 코멘트는 신경 쓰지 마세요. 나는 그것을 작동 시켰어. 문제는 내가 실수로'inputFormatter'를 제거했기 때문입니다. – CodyBugstein
대단히! 그것을 알게되어 기쁘다. – Nokes