我在組件中有一個下拉列表。下面是組件的代碼:選擇選項不顯示對象陣列
export class MyComponent {
MyObjectArray: MyObject[] = [];
constructor(private _service: MyService)
}
ngOnInit() {
this._service.get().do((response): MyObject[]) => {
this.MyObjectArray = response;
this.MyObjectArray.forEach((obj) => {
console.log(obj.Code)
});
});
我的HTML是:
<select>
<option [value]="obj.Code" *ngFor="let obj of MyObjectArray; let i = index">{{obj.Code}}</option>
</select>
在我的服務:
return this._http.get(_url, this.options)
.map(res => res.json())
.catch(super.handlerError);
我有一個console.log
在我的代碼,以驗證服務返回了一些東西,我得到了結果。問題是爲什麼它沒有綁定在我的下拉列表中。我確實檢查了元素,下拉列表中沒有項目。
哦,有一件事,我試圖把ngFor
在div
與span
裏面,它正在工作。我只是不明白,當我把它放在我的下拉,它不起作用。
編輯
現在,當我檢查元素,我可以看到我的對象。但他們仍然沒有出現在我的下拉列表中。這是我改變了:
this._service.get().subscribe(response => this.MyObjectArray = response);
編輯
我也有我的ngAfterViewInit()
$('select').material_select();
如果異步操作由於某種原因需要更長的時間200毫秒,比如網絡中的意外延遲,那麼這是行不通的。在某些情況下它可能是可以接受的,但是如果應用程序依賴於此下拉菜單正常運行,則需要更強大的實現。 – unitario
男士,請閱讀我的第二段,您可以初始化viewInit,然後在獲取數據時重新開始。 @unitario,希望你得到你的答案 –
我可以知道如何「銷燬並重新啓動」我的選擇? –