首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查rhandsontable中的有效输入

检查rhandsontable中的有效输入
EN

Stack Overflow用户
提问于 2020-09-16 13:56:47
回答 1查看 166关注 0票数 0

Problem:我有下面的示例应用程序,用户可以在其中对rhandsontable对象进行更改。我想检查用户正在做的修改是否有效。已实现:如果无效,则单元格颜色将更改为深红。

问题:如果整个rhandsontable只包含有效的输入,即一些可以返回的真/假标志,并且是rhandsontable对象的属性或某种隐藏的选项,那么它是否有可能签入R(不仅仅是视觉上的)?

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-16 20:47:49

您可以使用hot_to_r读取表中的内容,然后进行检查。在本例中,如果将一个单元格更改为字符,则标志设置为FALSE。这是因为一个字符在输入中作为NA返回(我不确定为什么不返回该字符):

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63921644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档