我試圖使 ui 部分反應,因為當應用程式首次加載時,計算結果,但任何進一步更新只能通過觸發操作按鈕進行。例如在下面的應用程式中,當應用程式加載時,input1 值(4%)乘以 400,結果顯示為文本輸出。現在對 input1 的任何進一步更新都不應該更新 textOutput,直到按下更新按鈕。我相信在這里使用反應式是錯誤的,所以我真的很感激這方面的指導。謝謝
library(shiny)
library(shinyWidgets)
ui <- fluidPage(
fluidRow(
autonumericInput(
inputId = "input1", label = "Percent Input",
value = 4, currencySymbol = " %",currencySymbolPlacement = "s",
digitGroupSeparator = ",",decimalPlaces = 2),
actionButton(inputId = "submit1", label = "Update"),
verbatimTextOutput("resultUI")
)
)
server <- function(input, output) {
result<-reactive({
400*input$input1/100
})
output$resultUI <- renderText({ result() })
}
shinyApp(ui = ui, server = server)
uj5u.com熱心網友回復:
您可以使用eventReactivewithignoreNULL=FALSE以便它也可以在加載時觸發:
library(shiny)
library(shinyWidgets)
ui <- fluidPage(
fluidRow(
autonumericInput(
inputId = "input1", label = "Percent Input",
value = 4, currencySymbol = " %",currencySymbolPlacement = "s",
digitGroupSeparator = ",",decimalPlaces = 2),
actionButton(inputId = "submit1", label = "Update"),
verbatimTextOutput("resultUI")
)
)
server <- function(input, output) {
result<-eventReactive(input$submit1,{
400*input$input1/100
},ignoreNULL = FALSE)
output$resultUI <- renderText({ result() })
}
shinyApp(ui = ui, server = server)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/390445.html
