Angular2如何在DropdownList

时间:2017-06-29 01:03:36

标签: angular2-forms

这里我通过使用Id值获取数据请建议我如何在下拉列表中绑定此数据 的服务

 GetStatesById(id: number): Observable<State> {
        let headers = new Headers({ 'Content-Type': 'application/json' });
        let options = new RequestOptions({ headers: headers });
        const sss = `${this.StateUrl}/${id}`
        return this._http.get(sss)
            .map(this.extractData)
            .do(data => console.log('getProduct: ' + JSON.stringify(data)))
            .catch(this.handleError);
    }

Component.ts

 export class CascadeDrpComponent {
 StateObj: State[] = [];
    GetStates(CountryId: number) {
            return this._HttpService.GetStatesById(CountryId)
                .subscribe(data => this.StateObj.values())
        }

Html代码

  <select>
        <option>Please Select State</option>
        <option *ngFor="let sts of StateObj"></option>
    </select>

2 个答案:

答案 0 :(得分:1)

你正在以正确的方式做。但是你应该注意一些细节。      1.sts是一个对象,因此您不会在下拉列表中看到详细信息。 2.如果你选择一个项目,你选择的值是一个对象,而不是它的一个属性,所以你应该小心。

答案 1 :(得分:0)

通过分配值,您可以在下拉列表中绑定数据

<select>
    <option>Please Select State</option>
    <option *ngFor="let sts of StateObj" value="{{sts.id}}">{{sts.name}}</option>
</select>