Problem:我有下面的示例应用程序,用户可以在其中对rhandsontable对象进行更改。我想检查用户正在做的修改是否有效。已实现:如果无效,则单元格颜色将更改为深红。
问题:如果整个rhandsontable只包含有效的输入,即一些可以返回的真/假标志,并且是rhandsontable对象的属性或某种隐藏的选项,那么它是否有可能签入R(不仅仅是视觉上的)?
library(shiny)
library(rhandsontable)
ui <- fluidPage(
rHandsontableOutput("table")
)
server <- function(input, output, session) {
output$table <- renderRHandsontable(
rhandsontable(mtcars)
)
observe({
str(input$table)
})
}
shinyApp(ui, server)发布于 2020-09-16 20:47:49
您可以使用hot_to_r读取表中的内容,然后进行检查。在本例中,如果将一个单元格更改为字符,则标志设置为FALSE。这是因为一个字符在输入中作为NA返回(我不确定为什么不返回该字符):
library(shiny)
library(rhandsontable)
ui <- fluidPage(
rHandsontableOutput("table"),
verbatimTextOutput("flag")
)
server <- function(input, output, session) {
# flag for numeric values
is_table_ok <- reactiveVal(FALSE)
output$table <- renderRHandsontable(
rhandsontable(mtcars)
)
observeEvent(input$table, {
table_object <- hot_to_r(input$table)
flag <- !is.na(table_object)
flag <- purrr::reduce(flag, `&&`)
is_table_ok(flag)
})
output$flag <- renderPrint({
is_table_ok()
})
}
shinyApp(ui, server)https://stackoverflow.com/questions/63921644
复制相似问题