首先,确定在HTML模板中的下拉框是否正确地绑定到选项列表。如果绑定正确,则可能是由于异步加载数据造成的问题,可以使用管道或Observable在组件中实现异步数据加载。
以下是使用管道实现的示例代码:
HTML模板:
组件:
import { Component } from '@angular/core';
import { Observable } from 'rxjs';
import { Option } from './option.model';
import { OptionService } from './option.service';
import { map } from 'rxjs/operators';
@Component({
selector: 'app-select-dropdown',
template: `
`
})
export class SelectDropdownComponent {
options: Observable
其中,OptionService是一个服务类,用于获取选项列表。在该示例中,OptionService的getOptions()方法返回一个Observable对象,.pipe()方法将Observable对象转换为Option[]数组。
另一种实现异步数据加载的方法是使用Observable,将数据直接从组件中获取并绑定到下拉框。以下是使用Observable实现的示例代码:
HTML模板:
组件:
import { Component } from '@angular/core';
import { Option } from './option.model';
import { OptionService } from './option.service';
@Component({
selector: 'app-select-dropdown',
template: `
`
})
export class SelectDropdownComponent {
options: Option[];
selectedOption: number;
constructor(private optionService: OptionService) {}
ngOnInit() {
this.loadOptions();
}
loadOptions()