如何将条件面板设置为闪亮的选择输入?
Posted
技术标签:
【中文标题】如何将条件面板设置为闪亮的选择输入?【英文标题】:How to set a conditional panel to a selectinput in shiny? 【发布时间】:2015-03-14 23:25:51 【问题描述】:我试图在我闪亮的应用程序中添加第二个输入面板,其内容取决于第一个输入面板选择的输入,我尝试使用条件面板但没有运气。
ui.R
TO
shinyUI(fluidPage(
# 应用程序标题 标题面板(“仪表板”),
# 带有滑动条输入箱数的侧边栏
侧边栏布局(
sidebarPanel(
selectInput("country", label = h4("Pays"),
choices = levels(as.factor(TO$Pays))),
conditionalPanel(
condition = "input.country == 'Allemagne'",
selectInput("to", label = h4("Tour opérateur"),
choices = levels(as.factor(as.character(TO[as.character(TO$Pays)=="Allemagne",]$TO))))),
conditionalPanel(
condition = "input.country == 'Angleterre'",
selectInput("to", label = h4("Tour Operator"),
choices = levels(as.factor(as.character(TO[as.character(TO$Pays)=="Angleterre",]$TO)))))
...
我找到的解决方案是为第一个 inputPanel 的每个值创建一个 conditionalPanel 但是第二个 inputPanel 输出是否只对第一个值正确。
有人有解决办法吗?
【问题讨论】:
请展示你目前所获得的... 正如您在代码上方看到的,我仍在寻找解决方案 【参考方案1】:我知道下面的方法不是通过条件面板,因为我认为通过下面给出的示例来实现它会更简单。
首先你可以使用updateSelectInput
来更新你的条目,像这样
rm(list = ls())
library(shiny)
runApp(list(
ui = bootstrapPage(
selectInput('data', 'Data', c('mtcars', 'iris')),
selectInput('Cols', 'Columns', "")
),
server = function(input, output, session)
outVar <- reactive(
mydata <- get(input$data)
names(mydata)
)
observe(
updateSelectInput(session, "Cols",choices = outVar()
))
))
您可以使用renderUI
创建selectInput
并像这样填充它的其他方式:
rm(list = ls())
library(shiny)
runApp(list(
ui = bootstrapPage(
selectInput('data', 'Data', c('mtcars', 'iris')),
uiOutput('columns')
),
server = function(input, output)
output$columns <- renderUI(
mydata <- get(input$data)
selectInput('columns2', 'Columns', names(mydata))
)
))
编辑:如何在renderUI
中添加多个小部件
您需要将 divs
包裹在 tagList()
中,如下所示:
rm(list = ls())
library(shiny)
runApp(list(
ui = bootstrapPage(
selectInput('data', 'Data', c('mtcars', 'iris')),
uiOutput('columns')
),
server = function(input, output)
output$columns <- renderUI(
mydata <- get(input$data)
tagList(
selectInput('columns2', 'Columns', names(mydata)),
selectInput('columns3', 'Columns 2', names(mydata)))
)
))
【讨论】:
您好,关于上面的第二篇文章,如果我想在选择 iris 和 mtcars 时放置多个 selectInputs 和滑块,请您帮忙。以上是关于如何将条件面板设置为闪亮的选择输入?的主要内容,如果未能解决你的问题,请参考以下文章
在R闪亮中,如何在不使用renderUI的情况下首次调用应用程序时消除侧边栏中所有条件面板的闪烁?