問題タブ [selectionmodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
701 参照

angular - TypeScriptでAngular SelectionModelオブジェクトのCompareWith関数を設定することは可能ですか?

テンプレートにマットテーブルをレンダリングするコンポーネントがあります。一部の行を事前に選択したい。私が持っている SelectionModel には、選択された各項目 (単純な文字列や数値ではない) を表すオブジェクトが含まれており、これらを比較する方法は、ネイティブの SelectionModel の方法よりも複雑です。

これがマット選択フォーム コントロールである場合、[compareWith] ディレクティブを使用してカスタム比較関数を提供できます。

しかし、これは適切な解決策ではありません-表形式のプレゼンテーションが必要なためです。私は、Angular ドキュメントの例に厳密に従います。ここのマットテーブルの例各行に選択チェックボックスを備えたマットテーブルがあり、これが私が従ったアプローチです。

例の Component コードでは、SelectionModel オブジェクトを使用しています。

カスタム比較関数を SelectionModel オブジェクトに提供する方法を探しています。関数のオーバーライドを使用して SelectionModel をサブクラス化できますか、または何らかの方法でメソッドを「注入」できますか?

SelectionModel をサブクラス化し、新しい compareWith 関数を宣言しようとしましたが、これは必須ではないようです。誰でもアドバイスできますか?