1

解決済み: 問題は rxJS スレッドにありました。1 つのスレッドが頻繁に空の配列を渡したため、テーブルをリセットしました。

テーブルは 4 秒ごとに更新されます。まばたきを止めるには、trackBy 関数を適用します。関数がトリガーされていることがわかりますが、テーブル全体が再レンダリングされます。私は何か間違ったことをしていると思います。私がすること... 追跡機能を設定します。

<mat-table ... [trackBy]="trackById">

追跡機能を実装します。

 trackById(index, item) {
    console.log(item._id);
    return item._id;
  }

テーブルは、テーブルのデータ ソースの更新によって更新されます。

 updateOperations() {
    this.dataSource = new Source(this.forexService);
  }

コンポーネント全体はこちらhttps://gist.github.com/vlikin/6f130c53b1fd38116afe20d15a2afc40です。

このコンポーネントは、操作のリストを表示します。2 つのオブザーバブルからデータを取得します。テーブルのデータ ソースは一度作成されます。データの変更は、行動主体のデータによって開始されます。データのリトリング処理は関数内にありますupdate。mat-table コンポーネントは、出力を最適化する必要があるディレクティブ trackBy を使用します。しかし、まだ点滅しています。

trackId がある場合とない場合の 2 つのプランクが あります

そのような効果はまったくありません。私のアプリケーションでは点滅しています。

誰かが私を助けてくれることを願っています。よろしく。

4

1 に答える 1