1

を介してインターフェイス/作成され、レンダリングされたDataTableがあります。DT::datatableDT::renderDataTable

リアクティブ UI コンポーネントの設計にこれらを使用するために、データテーブルの状態/プロパティをクエリするにはどうすればよいですか?

特定の例: ユーザーが選択したプロパティの値を照会するにはどうすればよいですかiDisplayLength(AFAIU、表示される要素/行の数を制御します)。

その値を次のように使用したいと思います (PSEUDO CODE):

if (iDisplayLength != "All") {
  do not enable vertical scrolling
} else {
  enable vertical scrolling
}

垂直スクロール部分のため、質問は実際の例を見つけるこれに多少関連しています。

4

1 に答える 1

1

を使用して、ユーザーが選択したページの長さにアクセスできますinput$tableId_state$lengthstateSaveこれを機能させるには、オプションをに設定する必要があります。こちらのセクション 2.2TRUEを参照してください。

最小限の例を次に示します。

library(shiny)
shinyApp(
  ui = fluidPage(textOutput("pageLength"),
  DT::dataTableOutput('tbl'))
  ,
  server = function(input, output) {
    output$tbl = DT::renderDataTable(
      iris,options=list(stateSave=TRUE)
    )
    output$pageLength = renderText(paste("Lenght of the pages:",input$tbl_state$length))
    })
  }
)

この値が別の目的で必要な場合は、いつでもリアクティブ値に格納できます。

于 2016-01-04T12:19:31.730 に答える