私は、入力フィールドのテキストを変更するときに更新する必要がある、コンポーネントのプロパティにバインドされた入力エレメントを持っています。これまでAngular2イベント:keyupが入力を終了する
マイコード:
<input type="text" #updatetext [value]="item.name" (keyup)="updateItem(item.$key, updatetext.value)" />
問題は、私はキーストロークを行うとき、要素は、フォーカスを失った私はタイピングを続けるために再びそれをクリックしなければならないことを意味ということです。
どうすればこの問題を解決できますか?間違ったアプローチをしていますか?
UPDATE
updateItem
は、単に配列を変更します。 (私はところでfirebase/angularfire2でそれを使用しています)
updateItem(key: string, newText: string) {
this.items.update(key, { name: newText });
}
ので、データ自体は次のとおりです(両方とも文字列で)items: FirebaseListObservable<any[]>;
のみ、キーと名前のプロパティで構成されています。
アップデート2 全体DOM要素が再作成される、または少なくともthe docsに応じてはならないので、それはありません(「変更の伝播」を参照)。
はい、そうです、私は* ngForを使用しています。論理的ですね。 これをどのように修正することができますか? – sandrooco
詳細を入力してください。 'updateItem'は何をしていますか? '* ngFor'のようなデータはどのように反復処理されていますか? –
質問が更新されました。これは十分ですか?助けてくれてありがとう。 :) – sandrooco