Xả súng hàng loạt: hiển thị trợ giúp
Luôn hữu ích khi cung cấp cho người dùng thêm bối cảnh về ứng dụng của bạn. Một cách để làm điều này là thêm nút About vào ứng dụng và hiển thị phần bối cảnh dưới dạng hộp thoại modal.
Đó chính là những gì bạn sẽ làm trong bài tập này. Ứng dụng của bạn sẽ giống với hình trong ảnh chụp màn hình khi người dùng bấm nút "About".

Hãy nhớ rằng bạn có thể hiển thị chữ 'About' trong một hộp thoại modal bằng đoạn mã:
showModal(modalDialog("About"))
Bài tập này là một phần của khóa học
Xây dựng ứng dụng web với Shiny trong R
Hướng dẫn bài tập
- UI: Thêm một nút thao tác tên
show_about. - Server: Dùng
observeEventđể kích hoạt hiển thị hộp thoại modal vớishowModal(modalDialog(text_about, title = 'About')).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
ui <- bootstrapPage(
theme = shinythemes::shinytheme('simplex'),
leaflet::leafletOutput('map', width = '100%', height = '100%'),
absolutePanel(top = 10, right = 10, id = 'controls',
sliderInput('nb_fatalities', 'Minimum Fatalities', 1, 40, 10),
dateRangeInput(
'date_range', 'Select Date', "2010-01-01", "2019-12-01"
),
# CODE BELOW: Add an action button named show_about
),
tags$style(type = "text/css", "
html, body {width:100%;height:100%}
#controls{background-color:white;padding:20px;}
")
)
server <- function(input, output, session) {
# CODE BELOW: Use observeEvent to display a modal dialog
# with the help text stored in text_about.
output$map <- leaflet::renderLeaflet({
mass_shootings %>%
filter(
date >= input$date_range[1],
date <= input$date_range[2],
fatalities >= input$nb_fatalities
) %>%
leaflet() %>%
setView( -98.58, 39.82, zoom = 5) %>%
addTiles() %>%
addCircleMarkers(
popup = ~ summary, radius = ~ sqrt(fatalities)*3,
fillColor = 'red', color = 'red', weight = 1
)
})
}
shinyApp(ui, server)