2017-05-15 27 views
0

私はangular2のドロップダウンを作成します。これは、ユーザーがアイテムを選択するたびにドロップダウン値をデフォルト値にリセットします。ここでangular2-dropdownは更新されません

//My Components.ts 

import { Component } from '@angular/core'; 
import { FormsModule } from '@angular/forms'; 

@Component({ 
selector: 'awesome-component', 
template: ` 
<select [(ngModel)]="selectedModule" (ngModelChange)="onChange($event)"> 
<option *ngFor="let module of modules" [value]="module._id"> 
{{module.moduleName}}</option> 
</select> 
` 
}) 
export class AwesomeComponent implements OnInit { 

modules: any[]; 
selectedModule: any = null; 

ngOnInit(){ 
this.loadModules(); 
} 

    loadModules(){ 
    this.modules = []; 
    this.modules.push({moduleName:'Default Value',_id:1}); 
    this.modules.push({moduleName:'2017',_id:2}); 
    this.modules.push({moduleName:'2018',_id:3}); 
    this.modules.push({moduleName:'2019',_id:4}); 

    this.selectedModule = 1; 
    } 
    onChange(modules) { 
    alert("Current id is:" + this.selectedModule+ " Value reset to default"); 
this.selectedModule = 1; 
} 
} 

が問題を示して取り組んPlunkerです:これは私がこれまで使っていたコードです。

目標は、警告ボックスが閉じているときはいつでも、私はドロップダウンをデフォルト値に更新したいと思います。

+0

好奇心を要しています:ユーザーがアイテムを選択した後の目的は何ですか?デフォルト値にリセットしましたか? – developer033

+1

@ developer033このコードは私のプロジェクトに関連しています。このプロジェクトでは、アラートボックスの代わりにブートストラップモーダルがポップアップしています。ダイアログボックスを閉じると、デフォルト値が表示されます。スニペットはちょうど私が余分なコードをトリミングして問題に集中できるように作られています – GeekWithGlasses

答えて

1

これはややこしいですが、のsetTimeoutを使用すると、角度がrerenderになります。

plunkerを参照してください。

+2

とにかく仕事をします。アプローチがうまくいかないかもしれません。 – GeekWithGlasses

関連する問題