2017-09-25 27 views
0

ngForループでselect入力を作成し、ngModelで値をいくつかの配列にバインドすると、配列(単方向バインディングのみを作成するように)ここでplunkerに簡単な例です: https://plnkr.co/edit/LX7XyrHcMGH8avZYA0pv?p=preview角2+ - ngModelはngForループで行われた選択に初期値をバインドしません

@Component({ 
    selector: 'my-app', 
    template: ` 
    <div *ngFor="let select of test; let i = index" > 
     <select name="test" [(ngModel)]="vals[i]"> 
     <option *ngFor="let item of select" [ngValue]="item">{{item.lol}}</option> 
     </select> 
    </div> 
    <div style="display: flex"> 
     <div *ngFor="let val of vals; let last = last;"> 
     {{val.lol}}{{last? '' : ','}} 
     </div> 
    </div> 
    `, 
}) 
export class App { 
    test: any = [ 
    [{ lol: '1' }, { lol: '2' }, { lol: '3' }], 
    [{ lol: '4' }, { lol: '5' }, { lol: '6' }], 
    [{ lol: '7' }, { lol: '8' }, { lol: '9' }], 
    ]; 
    vals: any[] = [{ lol: '1' }, { lol: '4' }, { lol: '7' }]; 
    constructor() {} 
} 

答えて

0

[compareWith]この例では、この問題を解決

UPDATE使用:それは例を固定しながら を、私のコードでngModelは1つの選択の値を更新しました。入力、ngForによって生成されます。私の設定では、[ngModelOptions] = "{standalone:true}"が問題を解決しました。それが誰かを助けることを願って...

関連する問題