Как скрыть код от отображения в Shiny UI? - PullRequest
0 голосов
/ 23 июня 2019

Должно быть легко предотвратить появление "Лондона" в верхней части страницы, но я не мог найти, как.

library(shiny)
ui <- fluidPage(
    mainPanel(
        mylist <- c("London","Paris"), 
        selectInput("s", "Select", mylist)
        )
    )
server <- function(input, output) {}
shinyApp(ui = ui, server = server)

Ответы [ 2 ]

2 голосов
/ 23 июня 2019

Извлечь mylist из FluidPage:

library(shiny)
mylist <- c("London","Paris")
ui <- fluidPage(
  mainPanel( 
    selectInput("s", "Select", mylist)
  )
)
server <- function(input, output) {}
shinyApp(ui = ui, server = server)

В противном случае mylist включается в функцию mainPanel как еще один вывод для включения, например, заголовок.

Конечно, в качестве альтернативы вы можете просто включить свой список опций непосредственно в selectInput и полностью опустить вектор mylist:

selectInput("s", "Select", choices = c("London","Paris"))
0 голосов
/ 24 июня 2019

Вы можете использовать вектор непосредственно внутри selectInput, например:

library(shiny)
ui <- fluidPage(
  mainPanel( 
    selectInput("s", "Select", choices = c("London","Paris"))
  )
)
server <- function(input, output) {}
shinyApp(ui = ui, server = server) 

, если вам нужно использовать статическую проверку в вашем варианте на основе выбора, вы можете использовать что-то вроде:

library(shiny)
library(shinyalert)
ui <- fluidPage(
  mainPanel( 
    useShinyalert(),
    selectInput("option_select", "Select", choices = c("London"="lon","Paris"="par")),
    actionButton("check_city","City Selected")
  )
)
server <- function(input, output) {

  observeEvent(input$check_city,{
      if(input$option_select=="lon")
      {
       shinyalert("City Selected:  London")
      }
      else
      {
        shinyalert("City Selected:  Paris")
      }
  })
}
shinyApp(ui = ui, server = server)
...