我有一个名为Ok的actionButton。当用户单击此按钮时,它将从一个文本输入框中获取输入,并显示一个带有一些消息的bmodal消息对话框窗口。
这是代码:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
textInput("text", "Enter Id:"),
box(width = 1, background = 'purple'),
actionButton("Ok", "Press Ok",style='padding:8px; font-size:100%')
),
dashboardBody(
bsModal("modalnew", "Greetings", "Ok", size = "small",
textOutput("text1")
)
)
)
server <- function(input, output) {
observeEvent(input$Ok,{
patid1 <- as.numeric(input$text)
print(patid1)
if (is.na(patid1) == TRUE) { output$text1 <- renderText("Please enter
a valid ID# without alphabets or special characters")} else {
#output$text1 <-renderText("")
output$text1 <-renderText({paste("You enetered", patid1)})
}
})
}
shinyApp(ui, server)
我要做的是当用户单击bsModal窗口上的Close
按钮时,它应该清除textInput
文本框中的文本。我不知道如何在bsModal消息窗口的关闭按钮上添加响应函数。
您不能在客户端运行的bsModal
上真正做到这一点,但您可以轻松地在服务器上做到这一点:
server <- function(input, output, session) {
observeEvent(input$Ok,{
patid1 <- as.numeric(input$text)
# Clear input$text
updateTextInput(session,"text", value="")
if (is.na(patid1) == TRUE) { output$text1 <- renderText("Please enter
a valid ID# without alphabets or special characters")} else {
output$text1 <-renderText({
paste("You enetered", patid1)})
}
})
}
shinyApp(ui, server)