我有一个闪亮的应用程序类似于这个例子,我想要的是在没有“全部”选择的情况下在输入中获得选择。 例如,如果我删除“所有”所有其他选择消失,我不想这...闪亮输入没有“全部”的选择
有关信息此应用程序是能够更新的输入功能的第一个输入的选择,例如如果我在第一个输入中选择“A”,我会在第二个输入选项中看到只有“1”。
@Benjamin:是的,它这一点,但让我的更新功能,像我举的例子说
在此先感谢
library(shiny)
library(dplyr)
library(DT)
ui <- fluidPage(
titlePanel("Title"),
sidebarLayout(
sidebarPanel(width=3,
selectInput("filter1", "Filter 1", multiple = T, choices = c("All", LETTERS), selected = "All"),
selectInput("filter2", "Filter 2", multiple = T, choices = c("All", as.character(seq.int(1, length(letters), 1))),
selected = "All")
),
mainPanel(
DT::dataTableOutput("tableprint")
)
)
)
server <- function(input, output, session) {
output$tableprint <- DT::renderDataTable({
# Data
df <- tibble(Letters = LETTERS, Numbers = as.character(seq.int(1, length(letters), 1)))
# Create filters based on inputs
f1 <- if("All" %in% input$filter1) LETTERS else input$filter1
f2 <- if("All" %in% input$filter2) as.character(seq.int(1, length(letters), 1)) else input$filter2
# Filter data
filtered_df <- filter(df,
Letters %in% f1,
Numbers %in% f2)
# Update selectInput choices based on the filtered data. Update 'selected' to reflect the user input.
updateSelectInput(session, "filter1", choices = c("All", filtered_df$Letters), selected = input$filter1)
updateSelectInput(session, "filter2", choices = c("All", filtered_df$Numbers), selected = input$filter2)
datatable(filtered_df)
})
}
# Run the application
shinyApp(ui = ui, server = server)
我不确信整个你的目标是什么,但'updateSelectInput'电话似乎没有必要给我。如果你把它们拿出来,你会得到你想要的东西吗? – Benjamin
不,我需要updateSelectInput更新我的选择,取决于最后的选择 –