【发布时间】:2020-12-15 01:52:54
【问题描述】:
问题:在下面的 Shiny 应用程序中,我想通过 rhandsontable 更改并插入新行到以下数据:
data.frame(car = c("Opel", "Nissan", "Opel", "VW"),
location = c("Ruesselsheim", "Frankreich", "Ruesselsheim", "Wolfsburg"))
- 如果我将
car == Opel更改为car == VW,则位置将从 Ruesselsheim 更改为 Wolfsburg。 - 如果我插入一个新行并使用
car == Opel填充它,则在提供汽车输入后,位置应直接为 Ruesselsheim
问题:如何有条件地更改单元格值并定义有条件的默认值?
尝试: hot_col 有一个默认参数,但它只接受字符串而不接受条件。此外,通过观察者跟踪变化似乎并不是最好的方法。
关于如何解决这个问题的任何想法?非常感谢!
library(shiny)
library(rhandsontable)
ui = shinyUI(fluidPage(
titlePanel("Handsontable"),
sidebarLayout(
sidebarPanel(
rHandsontableOutput("hot")
),
mainPanel(
verbatimTextOutput("debug")
)
)
))
server = function(input, output) {
data <- reactive({
data.frame(car = c("Opel", "Nissan", "Opel", "VW"),
location = c("Ruesselsheim", "Frankreich", "Ruesselsheim", "Wolfsburg"))
})
output$hot <- renderRHandsontable({
DF <- data()
rhandsontable(DF, useTypes = FALSE, selectCallback = TRUE)
})
### DEBUG
output$debug <- renderPrint({
req(input$hot)
input$hot$changes
})
}
shinyApp(ui = ui, server = server)
【问题讨论】:
标签: javascript r shiny callback rhandsontable