我正在通过角材料的垫表组件实现表格。当我的代码中的某些事件触发时,我想跳到特定的行。
到目前为止,我尝试使用 (focus)
on row 和 virtual scrolling 事件。
但我认为我错过了一些东西,它应该比这更简单。
我正在通过角材料的垫表组件实现表格。当我的代码中的某些事件触发时,我想跳到特定的行。
到目前为止,我尝试使用 (focus)
on row 和 virtual scrolling 事件。
但我认为我错过了一些东西,它应该比这更简单。
我发现了这个问题,我做了一些改变,这将适用于我的问题。
简而言之 -scrollIntoView
如果下次有人需要它,我的代码附在下面。
//.tpl
<tr mat-row
#matrow
[attr.serialNumber] = row.serialNumber
[ngClass]="{'selectedRow': selectedNode && selectedNode.serialNumber === row.serialNumber}"
*matRowDef="let row; columns: displayedColumns;"
></tr>
// component.ts
// selected point is your desierd element from data source
scrollRowToView(selectedPoint) {
const row = this.rows.find(r =>
r.element.nativeElement.getAttribute('serialNumber') === selectedPoint.serialNumber);
if (row != null) {
row.element.nativeElement.scrollIntoView( {behavior: 'smooth', block: 'center', inline : 'center'});
}
}