0
私はのbs-table
を使用して、一部のユーザーに関する情報を表示しようとしています。私はそれを行うことができて、それは動作しますが、私はnull values
に問題があります。すべてのセルデータが反射によって解決されるので、テーブルにはnull
と表示されます。私はコードを第三者のライブラリから得たもので、私はそれを編集することができないので、このnulls
を空の文字列で置き換える方法を見つけようとしています。
私はBsTableComponent
クラスを拡張しようと考えていたので、セルデータを解決するメソッドをオーバーライドできましたが、情報を表示できず、エラーも表示されませんでした。
これは私がこれまでに試したコードですが、私にはテーブルが表示されず、表示するデータがあります。
@Component(
selector: 'bs-table-custom',
template: <ommited for brevity>
directives: const [BsColumnDirective])
class BsTableCustomComponent extends BsTableComponent {
String getData(dynamic row, String fieldName) =>
fieldName.split('.').fold(row, (prev, String curr) {
var prevValue = prev is Map
? prev[curr]
: serializable.reflect(prev).invokeGetter(curr);
if(prevValue == null || (prevValue is List && prevValue.isEmpty)) {
return "";
}
return prevValue;
}).toString();
ダーツでサードパーティ製のライブラリを拡張する方法がわかりません。必要なものを実現するための簡単な方法があるかどうかはわかりません。
助けが必要です。 ありがとう
現在、コンポーネントの拡張は現在サポートされていません。試してみることもできますが、AFAIKではサブクラスのすべてのメタデータ '@Input()'、 '@Output()'、 '@ViewChild()'、...をすべて繰り返す必要があり、またすべて 'OnXxx'を実装します。 –
だから私はlibをコピーする必要があります...私は出力に適用することができますが、私は何も見つかりませんでしたアダプタなどを探してきました。私はクラス全体をコピーして使用しようとしましたが、まだデータがありません。おそらく、 'BsTableComponent'と 'BsColumnDirective'の権利をコピーしなければならないでしょうか? – djointster