問題タブ [angular-cdk]

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 投票する
2 に答える
3803 参照

angular - Angular 5マテリアルテーブルはfilterPredicateを異なるパラメータタイプを持つ関数に置き換えます

現在、マテリアル 2 テーブルを使用してデータを表示するコンポーネントに取り組んでいます。カスタム フィルター操作 (価格 > 1 など) を記述し、複数のフィルターを組み合わせることができる必要があります。それを機能させるために、カスタムfilterPredicateを書きました:

述語タイプのインターフェース:

customFilterPredicate は、パラメーターとして渡されたすべてのフィルターをループし、すべての条件が満たされた場合は true を返し、1 つ以上の条件が満たされなかった場合は false を返します。

この関数を使用して、サービスを介してテーブルのデータを取得し、dataSource を設定して、dataSource の filterPredicate を置き換えます。

面白いことに、使用するとフィルタリングが機能しますが、フィルターパラメーターが文字列であると想定されるため、filterPredicate をカスタムのものに置き換えることができないというエラーが常にスローされます。

私の質問は、マテリアル 2 パッケージの関数を書き直さずに、this.dataSource.filterPredicate を私のものに置き換えるにはどうすればよいかということです。タイプスクリプトでこれを行う方法はありますか?

そして、エラーをスローしたにもかかわらず、なぜこれが機能するのか誰かが考えているなら、それはハハにとって興味深いでしょう

0 投票する
0 に答える
226 参照

json - json リストからデータにアクセスして Angular CDK データ テーブルを作成する方法

Angular Material Design テーブルを使用していくつかのテーブルを作成しています。jsonファイルからデータを取得して、テーブルにデータを入力することができました。しかし、JSON ファイルにはいくつかのリスト [] があり、html からはアクセスできません。

これは、JSON ファイルからデータを取得するための私のサービスのコードです。

}

コンポーネントのデータソースは次のとおりです。

そして、これは私がhtmlファイルにテーブルを構築する方法です:

これは JSON ファイルの一部です。領収書が配列になっていることがわかります。

html ファイル内の mat-cell タグを使用して、receipt.receipts.receivedDate を取得します。

{ "companyName": "Acme", "documentType": "Standard", "receipts": [ { "receivedDate": "2018-04-26T09:05:53.566Z",

データからコンテンツにアクセスしてコンポーネント DataSource で使用できるようにするために、サービスで行う必要があると思いますが、何を理解していません。

任意の提案をいただければ幸いです。