Подтвердить что ты не робот

Как использовать tabPanel в качестве входа в R Shiny?

Можно ли выполнить действие, если пользователь нажимает на конкретный tabPanel?

Например, если пользователь нажимает на tabPanel("A", ...), тогда отображает всплывающее сообщение You are viewing tab "A".

4b9b3361

Ответ 1

tabsetPanel() вернет значение, присвоенное активному tabPanel(). Если вы просто хотите обновить другой вывод, вы можете сделать что-то вроде этого:

ui.R

library(shiny)    

shinyUI(basicPage( 

  textOutput("text"),
      tabsetPanel(id = "tabs",
          tabPanel("Tab A", value = "A", "This is Tab A content"),
          tabPanel("Tab B", value = "B", "Here some content for tab B.")
  )

))

server.R

library(shiny)

shinyServer(function(input, output) {

    output$text <- renderText({paste0("You are viewing tab \"", input$tabs, "\"")})

})

но что-то более сложное, например создание всплывающего окна, возможно, потребует создания наблюдателя и некоторого дополнительного пользовательского кодирования...