Этот вопрос является расширением этого вопрос. Я хотел бы перевести это приложение на следующий шаг, где после выбора «Система» пользователь должен иметь возможность нажать кнопку «Сбросить форму», которая очистит выбранную «Систему» в «Выборе системы», а также очистит отображаемый вывод. в 1_. Я могу полностью сбросить выбранную опцию. Однако я не могу очистить datatable.
Пожалуйста, предоставьте объяснение с кодом.
Код, очищающий выбранный ввод...
df <- data.frame("Users" =c('A',"B","A",'C','B'), "Date" = c('17 Mar 2019','15 Mar 2019','11 Mar 2019','20 Apr 2019',"21 Apr 2019"), "Systems" = c("Sys1", "Sys1","Sys2","Sys3","Sys4"), stringsAsFactors = FALSE)
df
library(shiny)
library(DT)
library(dplyr)
resetForm<-function(session){
updateSelectInput(session,"slct",selected = 'Null')
}
ui <- basicPage(
h2("Different Systems"),
sidebarLayout(
sidebarPanel(
selectInput('slct',"Select System",choices = df$Systems),
actionButton('clear',"Reset Form")
),
mainPanel(
DT::dataTableOutput("mytable")
)
)
)
server <- function(input, output,session) {
#df$system<-rownames(df$Systems)
output$mytable = DT::renderDataTable({
req(input$slct) # add this line
df %>%
filter(stringr::str_detect(Systems, as.character(input$slct)))
})
observeEvent(input$clear,{
req(input$slct)
resetForm(session)
})
}
shinyApp(ui, server)