0

防止“伦敦”出现在页面顶部应该很容易,但我找不到方法。

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

2 回答 2

2

从fluidPage中取出mylist:

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"))
于 2019-06-23T16:35:35.590 回答
0

您可以将向量直接用于 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)
于 2019-06-24T05:40:29.970 回答