2017-09-11 9 views
1

ng2-auto-completeモジュールを使用しています。検証フォームがあり、ngModelの値を変更する場合は、ユーザーがルックアップデータ(オートコンプリート)から値を選択します。ng2-auto-complete ngModelは値を変更しません

私はこのモジュールを複数回使用するため、valueChangedEventで値を変更する必要はありません。私はngModelをオートコンプリート値でバインドしたい。これはどのように可能ですか?

これが動作していません。

<div ng2-auto-complete 
    [source]="getValue('country')" 
    placeholder="enter text"> 
    <input [(ngModel)]="person.country" /> 
</div> 

私はperson.countryが変更されない値を選択した場合。

Thxで事前に!

答えて

1

あなたは、このような入力イベントに機能を使用するように試みることができる:

<input [(ngModel)]="person.country" #myInput (input)="changeModel(myInput.value)"/> 

// TS 
changeModel(value: string) { this.person.country = value; } 

それとも、OnChangeイベントの実装

export class MyClass implements OnChanges { 
    // ... 
    ngOnChanges(changes: SimpleChanges) { this.person.country = changes.allResults.currentValue; } 
} 
+0

私はこのオートコンプリート機能を15回使用しています。つまり、私は各エントリのonchangeメソッドを記述する必要があります。これはまさに私がしたくないことです。 – trap

+0

または、おそらくコード作成の仕方を学んだので、2つのパラメータを持つ関数を作成し、2つ目のパラメータは更新するプロパティです。 – trichetriche

+0

コード例や説明されているサイトがありますか? – trap

0
この

<div 
 
    placeholder="enter text"> 
 
    <input [(ngModel)]="person.country" ng2-auto-complete 
 
    [source]="getValue('country')" /> 
 
</div>
のようなコードを変更

使用することができます

ng2-auto-completeタグとソースは、入力フィールドに付いていなければなりません。

関連する問題