Я пытаюсь создать ссылку, которая будет сосредоточена на конкретном элементе c на другой панели вкладок.
Элемент находится довольно далеко вниз по странице на второй вкладке. Я смоделировал это с помощью нескольких br()
, которые отправляют элемент сюжета ниже на странице.
Я знаю, как переключиться на эту вкладку, но как я могу переключиться на эту вкладку, а затем сосредоточиться на элементе графика?
Если я попытаюсь добавить #plot1
к ссылке, она перестанет работать.
Вот пример:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "exampleApp"),
dashboardSidebar(
sidebarMenu(
id = "menu_",
menuItem("Tab1", tabName = "tab1", icon = icon("dashboard"), selected=TRUE),
menuItem("Tab2", tabName = "tab2", icon = icon("burn"))
)
),
dashboardBody(
tabItems(
#first tab content
tabItem(tabName = "tab1",
fluidRow(
column(12,
textOutput("inputText1", inline = TRUE),
#"Instructions on how to input data can be found ",
actionLink("link_to_plot", "here")
)
)
),
#second tab content
tabItem(tabName = "tab2",
br(),br(),br(),br(),br(),br(),br(),br(),br(),br(),br(),br(),
br(),br(),br(),br(),br(),br(),br(),br(),br(),br(),br(),br(),
br(),br(),br(),br(),br(),br(),br(),br(),br(),br(),br(),br(),
fluidRow( #12 width per row
column(
width = 4,
fluidRow(
div(style = "margin:auto; padding-bottom:1%",
plotOutput("plot1", height = 150 * .98)
)
)
)
)
)
)
)
)
server <- function(input, output, session){
output$plot1 <- renderPlot({
plot(1:10, type="l", col="red")
})
output$inputText1 <- renderText({
"You will transfer to plot if you click "
})
observeEvent(input$link_to_plot, {
updateTabItems(session, "menu_", selected = "tab2/#plot1")
})
}
runApp(shinyApp(ui, server))