我认为以下代码可以满足您的要求。此处仅在您对第一个表进行一些更改后才呈现第二个表。
ui.R 如下:
library(shiny)
library(rhandsontable)
ui <- fluidPage(
rHandsontableOutput("Table1"),
br(),
br(),
rHandsontableOutput("Table2")
)
服务器。R如下:
server <- function(input, output, session) {
#Render !st table at the begining
output$Table1 <- renderRHandsontable({
rhandsontable(datasets::mtcars, height = 400, selectCallback = TRUE, readOnly = FALSE)
})
observe({
if(!is.null(input$Table1$changes$changes[[1]][[1]])){# Render the 2nd table only after the data in the 1st table changes
output$Table2 <- renderRHandsontable({
rhandsontable(hot_to_r(input$Table1), height = 400, readOnly = TRUE)
})
}
})
}
希望这可以帮助!