R闪亮:renderUI不工作的条件面板
我试图在特定条件下显示一些UI。我希望选择输入的方式根据数据类型的不同而有所不同:当选择的类型是R闪亮:renderUI不工作的条件面板,r,shiny,R,Shiny,我试图在特定条件下显示一些UI。我希望选择输入的方式根据数据类型的不同而有所不同:当选择的类型是类型X时,我想显示选择输入,当选择类型Y时,我想显示滑块输入。为此,我在conditionalPanel中使用uiOutput 以下是我迄今为止所做的工作: 库(闪亮) 图书馆(shinyWidgets) 图书馆(WDI) 图书馆(DT) 图书馆(dplyr) foo下次请先查看R中的帮助页面(?conditionalPanel)或查找函数。该条件是一个JavaScript表达式,因此您的$符号不起作
类型X
时,我想显示选择输入
,当选择类型Y
时,我想显示滑块输入
。为此,我在conditionalPanel
中使用uiOutput
以下是我迄今为止所做的工作:
库(闪亮)
图书馆(shinyWidgets)
图书馆(WDI)
图书馆(DT)
图书馆(dplyr)
foo下次请先查看R中的帮助页面(?conditionalPanel
)或查找函数。该条件是一个JavaScript表达式,因此您的$符号不起作用。这应该是一个好主意。(点)
library(shiny)
library(shinyWidgets)
library(WDI)
library(DT)
library(dplyr)
foo <- data.frame(foo_name = c("A", "A", "B", "B", "C", "C"))
data <- cbind(head(mtcars), foo)
ui <- navbarPage(position = "static-top",
tabPanel(title = "Base 1",
fluidRow(
dropdownButton(
selectInput(inputId = "choice",
label = "Type of data",
choices = c("Type X",
"Type Y"),
selected = NULL,
multiple = FALSE),
conditionalPanel(
condition = "input$choice == 'Type X'",
uiOutput("machin")
),
conditionalPanel(
condition = "input$choice == 'Type Y'",
uiOutput("machin2")
),
circle = TRUE, status = "primary",
icon = icon("gear"),
width = "300px",
tooltip = tooltipOptions(title = "Outils")
),
column(width = 12,
dataTableOutput("data"))
))
)
server <- function(input, output) {
output$machin <- renderUI({
selectizeInput(inputId = "test",
label = "test",
choices = unique(data$foo_name),
selected = NULL,
multiple = T)
})
output$machin2 <- renderUI({
sliderInput("test2",
"Test2",
min = min(data$hp),
max = max(data$hp),
value = c(min(data$hp),
max(data$hp))
)
})
output$data <- renderDataTable({
if(input$choice == "Type X"){
data2 <- data %>%
filter(foo_name %in% input$test)
}
else if(input$choice == "Type Y"){
data3 <- data %>%
filter(hp %in% input$test2)
}
})
}
shinyApp(ui = ui, server = server)
conditionalPanel(
condition = "input.choice == 'Type X'",
uiOutput("machin")
),
conditionalPanel(
condition = "input.choice == 'Type Y'",
uiOutput("machin2")
)