2017-09-25 2 views
0

ngFor 루프에서 select 입력을 만든 다음 ngModel을 사용하여 값을 일부 배열에 바인딩합니다 -이 옵션은이 초기 값을 가져 오지 않습니다 배열 (단방향 바인딩 만 생성하는 것처럼). 여기 plunker의 간단한 예입니다 : 하나의 선택으로는 예를 고정하는 동안 , 내 코드에 ngModel가 업데이트 된 값이 예에서 [compareWith] 사용 https://plnkr.co/edit/LX7XyrHcMGH8avZYA0pv?p=previewAngular 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

이 문제를

UPDATE를 해결한다 입력, ngFor에 의해 생성됩니다. 저에게 [ngModelOptions] = "{standalone : true}"설정으로 문제가 해결되었습니다. 희망은 누군가를 돕는 ...

관련 문제