當動態輸入元素添加到UI時,它將觸發其已存在的observeEvent。具體來說,請參見下面的示例,其中textInput是在服務器端函數的第一次加載時動態添加的。然後當它呈現時,將觸發observeEvent。如何避免運行動態添加輸入的初始觀察事件
有沒有一種方法可以在一般情況下避免添加輸入元素的這種觸發,特別是我希望以類似的方式測試輸入1和測試輸入2兩個火,即不是在啓動時。
的UI.R文件
library(shiny)
# Define UI for application that draws a histogram
shinyUI(fluidPage(
fluidRow(
uiOutput("my_output"),
textInput(inputId = "test2", label = "test2", value = "start value"))
))
的server.R文件
library(shiny)
first.load <- TRUE
shinyServer(function(input, output) {
if(first.load){
output$my_output <- renderUI({
textInput(inputId = "test", label = "test", value = NULL)
})
}
observeEvent(input$test2,{
browser()
}, ignoreInit = T)
observeEvent(input$test, {
browser()
}, ignoreInit = T)
})
有同樣的問題一次,與創建輸入一些JavaScript。 – agenis