動的入力要素がUIに追加されると、それは既に存在するobserveEventをトリガーします。特に、textInputがサーバー側関数の最初のロード時に動的に追加される以下の例を参照してください。その後、observeEventがレンダリングされます。動的に追加された入力の初期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"))
))
obServeEvent
がinput$test
の存在に反応している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