我有angular2这个问题,因为我从angularjs迁移, select元素的选项数据来自solr的查询,这个查询不需要那么长时间,总是给出响应200和数据。
问题在于,如果我不刷新页面或退出并再次登录,则选择永不显示的选项,有时候我必须刷新以查看这些选项的次数。
我认为这个问题与bootstrap或浏览器有关,但在chrome和firefox中问题是一样的。
我认为这是一个有角度的错误,但是现在我正在寻找一个解决方法或破解它使它工作,我必须明天显示网页(我希望)。
html代码:
<select class="selectpicker" data-live-search="true" [(ngModel)]="selectedId" (change)="changeValue($event.target.value)">
<option *ngFor="let d of destinos | orderBy" [ngValue]="d.id">{{getName(d)}}</option>
</select>
其他详细信息:
正确填充目的地数据,我可以在收到数据时看到输出
orderBy是一个自定义管道,这里是代码:
从'@ angular / core'导入{Pipe,PipeTransform};
@Pipe({name:'orderBy',pure:false})
导出类OrderBy实现PipeTransform {transform(array: Array,args:string):Array {
console.log(array); if (array == undefined) return; array.sort((a: any, b: any) => { if (a.toLowerCase() < b.toLowerCase()) { return -1; } else if (a.toLowerCase() > b.toLowerCase()) { return 1; } else { return 0; } }); return array; }
}
更新
以防任何人有这个问题我从选择中删除class="selectpicker"
现在它总是有效,我认为它与bootstrap有关的问题,现在看起来有点难看,这是一个很好的时间解决方案。
答案 0 :(得分:0)
你没试过&#34; | ORDERBY&#34; ? 因为在Angular2中,不再有FilterPipe或OrderByPipe。 - &GT; https://angular.io/docs/ts/latest/guide/pipes.html