这里我通过使用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>
答案 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>