我正在使用ui-grid
和一列,其中每个单元格都有一个带有uib-typeahead
的输入字段。
单元格模板如下:
{ field: "Item", width: "7%", displayName: "Item", cellTemplate: '<div class="ui-grid-cell-contents"><input type="text" class="sample form-control" ng-keydown="grid.appScope.listCtrl.onCellEnter($event)" typeahead-on-select="grid.appScope.listCtrl.onTypeaheadSel($event)" ng-model="row.entity.Item" typeahead-editable="false" uib-typeahead="item.Name as item.Name +\' - \'+ item.Description for item in grid.appScope.listCtrl.items | filter:$viewValue:grid.appScope.listCtrl.startsWith"></div>' },
在您向下滚动列表并且列表被“重新渲染”之前,typeahead可以正常工作。然后,不会显示提前输入。我可以看到,技术上来说,预输入正在“弹出”,因为当我按ENTER键时,可以看到正在调用typeahead-on-selection
方法。只是没有视觉显示。实际的预输入以某种方式被隐藏。如果在应该在网格中显示键入头时向上滚动,可以看到实际上在网格顶部显示了键入头。它只是以某种方式显示在错误的视口中。
对我来说,这似乎是一个渲染错误。但是在网上找不到任何东西吗?