В приведенном ниже примере кода я хочу, чтобы наблюдаемое событие срабатывало только при нажатии на сам элемент dateInput, а не при инициировании вкладки "tab_BDay". Добавление ignoreInit = TRUE
и ignoreNULL = TRUE
в оператор наблюдений, похоже, не работает. Есть идеи? Спасибо!
# Libraries-----
library(shiny)
library(shinydashboard)
library(tidyverse)
library(shinyWidgets)
library(shinyjs)
library(Cairo)
library(plotly)
library(purrr)
library(zoo)
library(DT)
library(magrittr)
#ui------
ui_body_BDay <- tabPanel("Birthday inputs",
value ="BDay_inputs",
tags$div(id = "bday_input_rows",
uiOutput("bday_menu")
),
#button to add rows
fluidRow(
column(9, actionButton("add", "Add row"))
)
)
ui_dashboardBody <- dashboardBody(
tabItems(
tabItem(
tabName = "tab_BDay",
tabBox(title = "", width = 12,
id = "BDay_tabset",
ui_body_BDay)
)
)
)
ui_sidebar_item <- dashboardSidebar(
menuItem(
text = "Birthday Collection",
tabName = "tab_BDay",
icon = icon("wrench", lib = "font-awesome")
)
)
ui <- dashboardPage(
header = dashboardHeader(title = "Birthday example"),
sidebar = ui_sidebar_item,
body = ui_dashboardBody
)
#server-----
server <- function(input, output, session){
output$bday_menu <- renderUI({
dateInput('testSelect', 'Test')
})
observeEvent(input$testSelect, ignoreInit = TRUE, ignoreNULL = TRUE, {
print(input$testSelect)
print("I am getting triggered unnecessarily")
})
}
shinyApp(ui, server)