R 观察数据表分页事件
每次用户更改数据集分页的页面时,我都需要更改输入的值 我试过使用observeEvent,但它不起作用 用户界面 服务器R 观察数据表分页事件,r,pagination,shiny,R,Pagination,Shiny,每次用户更改数据集分页的页面时,我都需要更改输入的值 我试过使用observeEvent,但它不起作用 用户界面 服务器 observeEvent(input$table, { updateTextInput(session, "inText", value = paste("New text",0)) }) 希望您能帮助我。假设您的表id是示例中给出的table,您可以使用: input$table\u state$start/input$table\u state$length+1 下
observeEvent(input$table, {
updateTextInput(session, "inText", value = paste("New text",0))
})
希望您能帮助我。假设您的表id是示例中给出的
table
,您可以使用:
input$table\u state$start/input$table\u state$length+1
下面是一个完整的示例:
library(DT)
library(shiny)
app <- shinyApp(
ui = fluidPage(
tags$head(
# hides the default search functionality
tags$style(
HTML(".dataTables_filter, .dataTables_info { display: none; }")
)
),
fluidRow(
column(10,
""
),
column(2,
# adding new page filter
uiOutput("pageFilter")
),
column(12,
dataTableOutput('table')
)
)
),
server = function(input, output) {
output$pageFilter <- renderUI({
val <- input$table_state$start / input$table_state$length + 1
numericInput("page", "Page", val, min = 1)
})
output$table <- DT::renderDataTable({
iris
}, options = list(pageLength = 5, stateSave = TRUE))
# using new page filter
observeEvent(input$page, {
dataTableProxy("table") %>% selectPage(input$page)
})
}
)
runApp(app, launch.browser = TRUE)
库(DT)
图书馆(闪亮)
应用程序是否与另一个问题相关:那么分页是否会因输入字段而改变,或者分页按钮是否也会“正常”触发?我试图做的是,分页可以通过分页按钮和输入正常改变。但是如果我正常更改它,我希望输入刷新到新页面。好的,那么您应该使用input$table_state
,它将包含分页信息,…对不起,我不知道如何观察分页事件并使用input$table_state获取当前页码。
library(DT)
library(shiny)
app <- shinyApp(
ui = fluidPage(
tags$head(
# hides the default search functionality
tags$style(
HTML(".dataTables_filter, .dataTables_info { display: none; }")
)
),
fluidRow(
column(10,
""
),
column(2,
# adding new page filter
uiOutput("pageFilter")
),
column(12,
dataTableOutput('table')
)
)
),
server = function(input, output) {
output$pageFilter <- renderUI({
val <- input$table_state$start / input$table_state$length + 1
numericInput("page", "Page", val, min = 1)
})
output$table <- DT::renderDataTable({
iris
}, options = list(pageLength = 5, stateSave = TRUE))
# using new page filter
observeEvent(input$page, {
dataTableProxy("table") %>% selectPage(input$page)
})
}
)
runApp(app, launch.browser = TRUE)