首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据checkBoxInput结果显示pickerInput R闪亮

根据checkBoxInput结果显示pickerInput R闪亮
EN

Stack Overflow用户
提问于 2020-04-16 03:26:22
回答 1查看 267关注 0票数 0

我正在尝试为我闪亮的仪表板制作一个动态UI。在这里,我希望仅当checkboxGroup中的输入是特定值时才显示pickerInput字段。例如,当来自checkboxGroup字段的输入是A时,我希望显示pickerInput字段,否则我希望显示不同的输入字段。

目前,我的代码部分使用conditionalPanel,如下所示:

代码语言:javascript
复制
output$UI_selection <- renderUI({


tagList(
  p(tags$i("Define the network")),

  checkboxGroupInput(inputId = "choice1", 
                   label = "Make a choice", 
                   choices = list("A", "B")
  ),
  conditionalPanel(condition = "input$choice1 == 'A'",
  pickerInput(inputId = "select1",
              label = "Select first:",
              choices = list(
                "Hierarchies" = grouplist_1),
              selected = NULL,
              options = list(`actions-box` = TRUE, `none-selected-text` = "Select hierarchy", `live-search` = TRUE, title = "Select hierarchy"),
              multiple = FALSE
   )
 ) 

 )
})

但是,这不起作用,并且同时显示checkboxGroupInputPickerInput。有人知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-16 03:47:53

shiny包函数(如conditionalPanel)将您提供的所有R语言代码转换为JS。您在conditionalPanel中提供的条件需要在JS中可解释,JS使用.代替$

您需要用condition = "input.choice1 == 'A'"替换您的condition = "input$choice1 == 'A'"

完整的工作应用程序在这里:

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

ui <- fluidPage(
  uiOutput("UI_selection")
)

server <- function(input, output, session) {

  output$UI_selection <- renderUI({
    tagList(
      p(tags$i("Define the network")),

      checkboxGroupInput(inputId = "choice1", 
                         label = "Make a choice", 
                         choices = list("A", "B")
      ),
      conditionalPanel(condition = "input.choice1 == 'A'",
                       pickerInput(inputId = "select1",
                                   label = "Select first:",
                                   choices = list(
                                     "Hierarchies" = c("X","Y","Z")),
                                   selected = NULL,
                                   options = list(`actions-box` = TRUE, `none-selected-text` = "Select hierarchy", `live-search` = TRUE, title = "Select hierarchy"),
                                   multiple = FALSE
                       )
      ) 
    )
  })
}

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

https://stackoverflow.com/questions/61237019

复制
相关文章

相似问题

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