首页 > 解决方案 > 为什么单选复选框在 R shiny.sementic 包中不返回任何值?

问题描述

我必须构建一个应用程序shiny(理想情况下shiny.sementic,它是漂亮和现代的设计),其中我的复选框选择是动态更新的(使用反应式)​​。但是当我只有一个选择时,我的复选框输出内容是NULL不考虑该框是否被选中。你知道为什么吗?

请看下面的例子:

# Checkbox
library(shiny)
library(shiny.semantic)

ui <- function() {
  shinyUI(
    semanticPage(
      title = "Checkbox example",
      h1("Checkboxes with multiple choices"),
      multiple_checkbox("checkboxes_01", "Select Letters", LETTERS[1:6], selected = "A"),
      p("Selected letters:"),
      textOutput("selected_letters"),
      tags$br(),
      h1("Checkboxes with single choices"),
      multiple_checkbox("checkboxes_02", "Select Letter", LETTERS[1], selected = "A"),
      p("Selected letter:"),
      textOutput("selected_letter")
    )
  )
}

server <- shinyServer(function(input, output) {
  output$selected_letters <- renderText(paste(input$checkboxes_01, collapse = ", "))
  output$selected_letter <- renderText(paste(input$checkboxes_02, collapse = ", "))
})

shinyApp(ui = ui(), server = server)

在此处输入图像描述

在此示例中选中该框时如何input$checkboxes_02退货?A

注意:当我有 2 个或更多选择时,一切正常(参见示例中的“checkboxes_01”)

这是我当前的配置:

> sessionInfo()
R version 4.0.5 (2021-03-31)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Fedora 34 (Workstation Edition)

Matrix products: default
BLAS/LAPACK: /usr/lib64/libflexiblas.so.3.0

locale:
 [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C               LC_TIME=en_GB.UTF-8       
 [4] LC_COLLATE=en_GB.UTF-8     LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8   
 [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] shiny.semantic_0.4.3 shiny_1.7.1         

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.7        jquerylib_0.1.4   bslib_0.3.1       pillar_1.6.3      compiler_4.0.5   
 [6] later_1.3.0       tools_4.0.5       digest_0.6.28     jsonlite_1.7.2    lifecycle_1.0.1  
[11] tibble_3.1.5      gtable_0.3.0      pkgconfig_2.0.3   rlang_0.4.11      DBI_1.1.1        
[16] fastmap_1.1.0     dplyr_1.0.7       sass_0.4.0        generics_0.1.0    vctrs_0.3.8      
[21] htmlwidgets_1.5.4 grid_4.0.5        tidyselect_1.1.1  glue_1.4.2        R6_2.5.1         
[26] fansi_0.5.0       ggplot2_3.3.5     purrr_0.3.4       magrittr_2.0.1    scales_1.1.1     
[31] promises_1.2.0.1  ellipsis_0.3.2    htmltools_0.5.2   rsconnect_0.8.24  assertthat_0.2.1 
[36] mime_0.12         colorspace_2.0-2  xtable_1.8-4      httpuv_1.6.3      utf8_1.2.2       
[41] munsell_0.5.0     cachem_1.0.6      crayon_1.4.1     

谢谢!

标签: rshiny

解决方案


好吧,这似乎是与github(0.4.3)上可用的shiny.semantic 的开发版本相关的错误。重新安装 cran 版本(0.4.2)解决了这个问题。感谢@ismirsehregal 让我朝着正确的方向前进!

注意:shiny.semantic开发团队已收到该错误的警告。


推荐阅读