Dùng chính lời của bạn
textAreaInput() rất hữu ích khi bạn muốn cho phép người dùng nhập văn bản dài hơn nhiều so với textInput() thông thường. Textarea có nhiều hàng và thanh cuộn dọc, cùng tham số rows để quyết định số hàng hiển thị.
Ngoài việc lớn hơn, textarea hoạt động rất giống với text input ở mọi khía cạnh khác.
Bài tập này là một phần của khóa học
Nghiên cứu tình huống: Xây dựng ứng dụng web với Shiny trong R
Hướng dẫn bài tập
Nhiệm vụ của bạn là thêm một ô nhập textarea để người dùng có thể tạo word cloud từ chính lời của họ. Cụ thể:
- Thêm một text area gồm 7 hàng với
inputIdlà "text" và nhãn là "Enter text". - Dùng giá trị của text area làm nguồn
datacho word cloud, thay vì sáchartofwar(dòng 20).
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 <- fluidPage(
h1("Word Cloud"),
sidebarLayout(
sidebarPanel(
# Add a textarea input
___,
numericInput("num", "Maximum number of words",
value = 100, min = 5),
colourInput("col", "Background color", value = "white")
),
mainPanel(
wordcloud2Output("cloud")
)
)
)
server <- function(input, output) {
output$cloud <- renderWordcloud2({
# Use the textarea's value as the word cloud data source
create_wordcloud(data = ___, num_words = input$num,
background = input$col)
})
}
shinyApp(ui = ui, server = server)