pro*_*lic 3 performance autocomplete dropdownbox angular
我正在尝试将 Angular 下拉列表(Angular 4+)与 10000 多条记录绑定,它挂起应用程序,我们无法执行任何其他操作。
我只是使用 *ngFor,同样的
<select class="form-control browser-default col-md-12" name="attributeName" [(ngModel)]="attributeName">
<option *ngFor="let item of typeArray" [ngValue]="item">
{{item}}
</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我也尝试过 ng2-auto-complete 和 ng2-completer 等解决方案,但是当我开始输入时,应用程序挂起,因为数据很大。还有其他可行的解决方案吗?
您使用的组件非常无用。它们都将更改检测设置为默认值,这使它们变慢。使用@RahulSwamynathan 的提示,我设法获得了 ng-select,它使用 OpPush 作为 CD 机制来工作,而且速度非常快。为了进行测试,我使用了 26000 个 UUID,速度减慢并不明显。但似乎使它起作用的是将virtualScroll选项设置为 true。
<ng-select [items]="arrayWithStrings" [virtualScroll]="true" [formControlName]="'name'"></ng-select>
Run Code Online (Sandbox Code Playgroud)
如果您想拥有来自组件的样式,您必须将其添加@import "~@ng-select/ng-select/themes/default.theme.css";到您的style.css文件中。
| 归档时间: |
|
| 查看次数: |
4601 次 |
| 最近记录: |