私はこのテーブルに1つのAPIヒットを持つすべての行を含むdatatableを実装しています。そして、私は条件をJavaスクリプトコードに入れたいと思います。 Javaスクリプトを介して作成されたデータテーブル。コードサンプルを共有しています。JavaScriptのデータテーブルの配列に条件がある場合はどうすればいいですか?
$scope.standardOptions = DTOptionsBuilder
.fromFnPromise(R.all('----api call--').getList())
.withDOM("<'dt-toolbar'<'col-xs-12 col-sm-6'f><'col-sm-6 col-xs-12 hidden-xs'l>r>" +
"t" +
"<'dt-toolbar-footer'<'col-sm-6 col-xs-12 hidden-xs'i><'col-xs-12 col-sm-6'p>>")
.withBootstrap();
$scope.standardColumns = [
DTColumnBuilder.newColumn('flightNo').withOption('defaultContent', '-'),
DTColumnBuilder.newColumn('eta').renderWith(dataRendererETA).withOption('defaultContent', '-'),
DTColumnBuilder.newColumn('etd').renderWith(dataRendererETA).withOption('defaultContent', '-'),
];
APIコールデータは
{
"_id": "101-87450458_2016_SEP",
"flightNo": "087",
"eta": {
"$date": 1511868720000
},
"etd": {
"$date": 1511875800000
},
}
Iは、第2、第3のDtColumnBuilderであれば条件を載せていきたいと思います。いずれかのetaが印刷するか、etdしなければならない。
私はdatatablesで新しいです。どのように私は条件を置くことができます。
DTColumnBuilder.newColumn( 'ETA')renderWith(dataRendererETA).withOption( 'defaultContent' ' - ')、 DTColumnBuilder.newColumn( 'ETD')renderWith(dataRendererETA).withOption(」。 defaultContent '、 ' - ')、
私は一度に1つずつ表示したいです。
$scope.standardColumns = [
DTColumnBuilder.newColumn('flightNo').withOption('defaultContent', '-')
]
if (condition) {
$scope.standardColumns.push(DTColumnBuilder.newColumn('eta').renderWith(dataRendererETA).withOption('defaultContent', '-'))
} else {
$scope.standardColumns.push(DTColumnBuilder.newColumn('etd').renderWith(dataRendererETA).withOption('defaultContent', '-'))
}
か、$watch
、例えば、両方を作成し、表示/非条件に基づいてdtInstance
を使用して列のいずれかを表示することができます:
if文の何が問題になっていますか?配列の最後に要素を配置する必要がある場合や配置する場合は、シフトを使用して配列の先頭に要素を押し込み、条件を使用してifを使用して、問題の内容を明確にしないでください。 – shaunhusain
'if'とは何ですか?つまり、条件は正確です。実行時に何とか変更されるダイナミックなスコープ値ですか? – davidkonrad