Я пытаюсь создать условный пользовательский интерфейс в Shiny, который зависит от ввода пользователя. Я специально хочу сделать if в части пользовательского интерфейса, а НЕ в серверной части.
Вот пример того, чего я хочу достичь.
# app.R
library(shiny)
ui <- shiny::fluidPage(
shiny::headerPanel(title = "Basic App"),
shiny::sidebarPanel(
shiny::sliderInput(inputId = "a",
label = "Select an input to display",
min = 0, max = 100, value = 50
)
),
if(output$out < 50){
shinyjs::hide(shiny::mainPanel(h1(textOutput("text"))))
}else{
shiny::mainPanel(h1(textOutput("text")))
}
)
server <- function(input, output) {
output$text <- shiny::renderText({
print(input$a)
})
var <- shiny::reactive(input$a)
output$out <- renderText({ var() })
}
shiny::shinyApp(ui = ui, server = server)
Можно ли использовать реактивное значение в части пользовательского интерфейса функции?