複数の人を選択することができるビューを作成しました。人の同じリストから。 (私は複数選択を使用したくない)Angular2 ngFor複数の選択ボックス。次のselectは値を取得します
私には分かりませんが、選択ボックス1で値を選択すると、次の選択ボックスの値が設定されています。なぜこれが起こるのですか?
import {Component} from 'angular2/core';
@Component({
selector: 'my-app',
template: `
<select *ngFor="let selectedPerson of selectedPeople; let i = index;" (change)="selectChanged(i, $event.target.value)">
<option></option>
<option *ngFor="let person of people" [value]="person.id">{{ person.name }}</option>
</select>
<pre>{{ people | json }}</pre>
`
})
export class AppComponent {
public people = <IPerson[]>[
{id: 1, name: "Mike"},
{id: 2, name: "Jacob"},
{id: 3, name: "Ralph"},
{id: 4, name: "name4"},
{id: 5, name: "name5"},
{id: 6, name: "name6"},
{id: 7, name: "name7"},
];
public selectedPeople[];
constructor(){
this.selectedPeople = Array(6).fill(<IPerson>{ });
}
selectChanged(index, value){
let person = this.people.find((person: IPerson) => person.id == value);
this.selectedPeople[index] = person;
}
}
export interface IPerson{
id: number,
name: string
}
編集:
この問題が発生しthis.selectedPeople[index] = person;
ライン..
最初に 'v2.1'にアップデートすることをお勧めします。見た目では、あなたはまだアルファ版を使用しています – PierreDuc
ありがとう、ちょうどそれをしました。残念ながら、それは問題を解決しません.. –
それは速い更新です。私は、アルファ版からリリース版にいたるまでのアプリのアップデートにはかなり時間がかかりそうだ。しかし、あなたのアプリはまだそれほど大きくはないと思います:) – PierreDuc