Ověř, že uživatel provedl výběr
Jak jsme viděli ve videu, je obvykle dobrou praxí nastavit výchozí hodnotu pro vstupní selektory. Pokud však žádná výchozí hodnota nastavená není, můžeš uživatelům zobrazit vlastní chybovou zprávu, která jim poradí, co mají udělat, aby aplikace správně fungovala.
V předchozím cvičení jsme zjistili, že bez výchozí hodnoty pro pickerInput() zůstane graf prázdný. Místo prázdného grafu teď uživatelům zobrazíš vlastní chybovou zprávu, která je vyzve k potřebnému výběru.
Toto cvičení je součástí kurzu
Tvorba webových aplikací se Shiny v R
Pokyny k cvičení
- Přidej vlastní chybovou zprávu, která se zobrazí jako výchozí a upozorní uživatele, že mají vybrat vstup pro duševní nebo fyzické zdraví.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
ui <- fluidPage(
titlePanel("2014 Mental Health in Tech Survey"),
sidebarPanel(
sliderTextInput(
inputId = "work_interfere",
label = "If you have a mental health condition, do you feel that it interferes with your work?",
grid = TRUE,
force_edges = TRUE,
choices = c("Never", "Rarely", "Sometimes", "Often")
),
checkboxGroupInput(
inputId = "mental_health_consequence",
label = "Do you think that discussing a mental health issue with your employer would have negative consequences?",
choices = c("Maybe", "Yes", "No"),
selected = "Maybe"
),
pickerInput(
inputId = "mental_vs_physical",
label = "Do you feel that your employer takes mental health as seriously as physical health?",
choices = c("Don't Know", "No", "Yes"),
multiple = TRUE
)
),
mainPanel(
plotOutput("age")
)
)
server <- function(input, output, session) {
output$age <- renderPlot({
# MODIFY CODE BELOW: Add validation that user selected a 3rd input
mental_health_survey %>%
filter(
work_interfere == input$work_interfere,
mental_health_consequence %in% input$mental_health_consequence,
mental_vs_physical %in% input$mental_vs_physical
) %>%
ggplot(aes(Age)) +
geom_histogram()
})
}
shinyApp(ui, server)