先上代码,其他的再说
代码
library(shiny)
library(DT)
ui <- fluidPage(
sidebarPanel(
#侧边栏的控制键
width = 3,#设置侧边栏的宽度
p("The checkbox group controls the select input"),
radioButtons("inCheckboxGroup", "Input checkbox",
c("Item A", "Item B", "Item C")),
radioButtons("inSelect", "Select input",
c("Item A", "Item B", "Item C"))
),
mainPanel(DT::dataTableOutput('tbl'))
)
server <- function(input, output, session) {
observe({
x <- input$inCheckboxGroup
# Can use character(0) to remove all choices
if (is.null(x)){
x <- character(0)
}
if (x == "Item A") {
y = c("A1", "A2", "A3")
} else if (x == "Item B") {
y = c("B1", "B2", "B3")
}else if (x == "Item C") {
y = c("C1", "C2", "C3")
}
# Can also set the label and select items
updateRadioButtons(session, "inSelect",
label = paste("Select input label", length(x)),
choices = y
)
output$tbl <- renderDataTable(
if(input$inSelect=="A1"){
iris
}else if(input$inSelect=="B1"){
mtcars
}
)
})
}
shinyApp(ui, server)
结果