2016-10-21 13 views
1

私はOkと呼ばれるactionButtonを持っています。ユーザがこのボタンをクリックすると、textInputボックスからの入力を受け取り、bsModalメッセージダイアログウィンドウに何らかのメッセージが表示されます。光沢のあるbsModal閉じるボタン

これはコードです:

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メッセージウィンドウの閉じるボタンにリアクティブ関数を追加する方法がわかりません。どんな助けも大歓迎です。

答えて

1

あなたは本当に、クライアント上で実行されます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) 
+0

、本当にありがとうございました:) –

関連する問題