Как вставить функцию очистки экрана при нажатии кнопки reset
?
Большое спасибо!
library(shiny)
library(shinythemes)
function.cl<-function(df,date,d1,d2){
df <- structure(
list(date = c("2021-01-01","2021-01-02","2021-01-03","2021-01-04","2021-01-05"),
d1 = c(0,1,4,5,6), d2 = c(2,4,5,6,7)),class = "data.frame", row.names = c(NA, -5L))
}
ui <- fluidPage(
ui <- shiny::navbarPage(theme = shinytheme("flatly"), collapsible = TRUE,
br(),
tabPanel("",
sidebarLayout(
sidebarPanel(
selectInput("d1", label = h4("D1"),""),
selectInput("d2", label = h4("D2"),""),
br(),
actionButton("reset", "Reset"),
),
mainPanel(
))
)))
server <- function(input, output,session) {
data <- reactive(function.cl())
observe({
updateSelectInput(session, "d1", label = "D1", unique(data()$d1))
updateSelectInput(session, "d2", label = "D2", unique(data()$d2))
})
observeEvent(input$reset,{
updateRadioButtons(session, "d1", selected = "")
updateRadioButtons(session, "d2", selected = "")
})
}
shinyApp(ui = ui, server = server)
Что именно вы хотите, чтобы кнопка «сброс» делала?
При запуске приложения информация появляется как в selectInput. Нажав кнопку сброса, я хотел бы, чтобы эта информация была удалена.
Итак, вы хотите, чтобы D1 и D2 были установлены на «», даже если это недопустимый вариант в раскрывающемся списке? Потому что с помощью selectInput вы не можете выбирать элементы, которых нет в списке значений.
Я не понимаю. Вы обновили вопрос. И теперь в нем есть решение.
Жалко Майдин. Я поправил код. Я вставил функцию для сброса. Теперь он сбрасывает значения, которые появляются на экране, пока все в порядке. Но если я посмотрю на параметры выбора selectinput, цифры все равно появятся. В этом случае я хотел, чтобы эти значения больше не появлялись.