【发布时间】:2017-06-09 16:33:36
【问题描述】:
自从我从 angularjs 迁移以来,我遇到了 angular2 的这个问题, select 元素的选项数据来自 solr 的查询,此查询不会花费那么长时间,并且总是给出响应 200 和数据。
问题是,如果我不刷新页面或注销并再次登录,则此选择的选项永远不会出现,有时我必须刷新才能看到这些选项的次数是随机的。
我认为这个问题与引导程序或浏览器有关,但在 chrome 和 firefox 中问题是一样的。
我认为这是一个 angular2 错误,但现在我正在寻找解决方法或破解以使其工作,我必须展示明天工作的网页(我希望)。
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>
其他详情:
destinos 数据填写正确,收到数据后可以看到输出
orderBy是自定义管道,代码如下:
从“@angular/core”导入 { Pipe, PipeTransform };
@Pipe({ name: 'orderBy', pure: false })
导出类 OrderBy 实现 PipeTransform { transform(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",现在它总是有效,我认为它与引导程序有关,现在虽然看起来有点难看,但它是一个很好的临时解决方案。
【问题讨论】:
-
我相信您的问题与引用的错误无关。我想看看你填充“destinos”数组的代码。
-
请详细说明您的问题
-
orderBy 是自定义还是默认管道?可以不带参数调用吗?
标签: javascript html angular