我试着根据a和b的值更新我的rhansontable,但是没有更新。基本上,c列应该是a列划分为b列。
library(shiny)
library(rhandsontable)
did_recalc <- FALSE
ui <- fluidPage(
# tableOutput(table1),
rHandsontableOutput('table'),
textOutput('result')
)
server <- function(input,output,session)({
# values <- reactiveValues(data=as.data.frame(runif(2)))
INR = c(0)
`Price` = c(0)
Total = as.numeric(INR / `Price`)
values <- data.frame(a = INR, b = `Price`, c = Total)
observe({
if(!is.null(input$table))
values <- hot_to_r(input$table)
})
output$table <- renderRHandsontable({
rhandsontable(values)
})
})
shinyApp(ui = ui, server = server)发布于 2021-04-29 23:15:54
您需要确保保存数据的对象(values)是反应性的。这将强制使用它的任何内容正确更新。
library(shiny)
library(rhandsontable)
library(dplyr)
ui <- fluidPage(
rHandsontableOutput('table')
)
server <- function(input,output,session)({
values <- reactiveVal(value = data.frame(INR = runif(2),
Price = runif(2)))
output$table <- renderRHandsontable({
values() %>%
mutate(Total = INR/Price) %>%
rhandsontable() %>%
hot_col("Total", readOnly = TRUE)
})
observe({
if(!is.null(input$table))
values(hot_to_r(input$table))
})
})
shinyApp(ui = ui, server = server)https://stackoverflow.com/questions/67319988
复制相似问题