角材のマットテーブルコンポーネントでテーブルを実装しています。コード内のイベントが発生したときに特定の行にスキップしたい。
これまで、 (focus)
行と仮想スクロールのイベントを使用しようとしました。
しかし、私は何かが欠けていると思います。これよりも単純なはずです。
角材のマットテーブルコンポーネントでテーブルを実装しています。コード内のイベントが発生したときに特定の行にスキップしたい。
これまで、 (focus)
行と仮想スクロールのイベントを使用しようとしました。
しかし、私は何かが欠けていると思います。これよりも単純なはずです。
私はこの質問を見つけました。これらのいくつかの変更を加えて、これが私の問題で機能するようにします。
要するに - 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'});
}
}