首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >shinyWidgets::当在renderUI中使用时没有出现采用器输入

shinyWidgets::当在renderUI中使用时没有出现采用器输入
EN

Stack Overflow用户
提问于 2017-10-30 04:42:08
回答 1查看 1.5K关注 0票数 2

我不明白为什么下面的代码不能工作:

代码语言:javascript
复制
library(shinyWidgets)
library(shiny)
library(tidyverse)
library(forcats)

tmp <- tibble(Cat = c(rep("IV", 5), rep("III", 5)),
       Subcat = LETTERS[1:10])
tmp <- mutate(tmp, Cat = factor(Cat), Subcat = factor(Subcat))       

ui <- fluidPage(
       titlePanel(""),
   sidebarLayout(
      sidebarPanel(
         checkboxGroupButtons("Cat", "Category:", choices = levels(tmp$Cat), selected = levels(tmp$Cat)),
         uiOutput("Subcat")
      ),
   mainPanel(tableOutput("Table"))
   )
)

server <- function(input, output) {
   output$Subcat <- renderUI({
     tmp <- tmp %>% 
       filter(Cat %in% input$Cat) %>% 
       mutate(Subcat = fct_drop(Subcat))

     # pickerInput("what", label = "hello?", choices = levels(tmp$Subcat), selected = levels(tmp$Subcat), multiple = TRUE) #Does not appear
     checkboxGroupButtons("what", label = "hello?", choices = levels(tmp$Subcat), selected = levels(tmp$Subcat)) #Appears
   })

   output$Table <- renderTable({ filter(tmp, Cat %in% input$Cat, Subcat %in% input$what)})
   }

shinyApp(ui = ui, server = server)

如果我取消对pickerInput行的注释并注释掉下面的行,下拉小部件就不会出现。我是不是做错了什么,还是偶然发现了窃听器?

编辑:我做错了。我需要使用updatePickerInput()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-30 07:59:22

我的版本是0.3.5,一切都适合我。试着安装dev版本

代码语言:javascript
复制
# install.packages("devtools")
# devtools::install_github("dreamRs/shinyWidgets")


library(shinyWidgets)
library(shiny)
library(tidyverse)
library(forcats)

tmp <- tibble(Cat = c(rep("IV", 5), rep("III", 5)),
              Subcat = LETTERS[1:10])
tmp <- mutate(tmp, Cat = factor(Cat), Subcat = factor(Subcat))       

ui <- fluidPage(
  titlePanel(""),
  sidebarLayout(
    sidebarPanel(
      checkboxGroupButtons("Cat", "Category:", choices = levels(tmp$Cat), selected = levels(tmp$Cat)),
      uiOutput("Subcat")
    ),
    mainPanel(tableOutput("Table"))
  )
)

server <- function(input, output) {
  output$Subcat <- renderUI({
    tmp <- tmp %>% 
      filter(Cat %in% input$Cat) %>% 
      mutate(Subcat = fct_drop(Subcat))
    pickerInput("what", label = "hello?", choices = levels(tmp$Subcat), selected = levels(tmp$Subcat), multiple = TRUE) #Does not appear
  })

  output$Table <- renderTable({ filter(tmp, Cat %in% input$Cat, Subcat %in% input$what)})
}

shinyApp(ui = ui, server = server)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47008245

复制
相关文章

相似问题

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