У меня блестящее приложение с абсолютной панелью в центре экрана. На этой панели я отобразил длинное изображение. Кроме того, эта панель имеет actionButton()
в правом верхнем углу, чтобы закрыть ее.
Если в команде style()
абсолютной панели я добавлю код CSS, чтобы вставить вертикальную полосу прокрутки, эта полоса прокрутки (даже если она неактивна) покрывает actionButton, и я больше не могу щелкать по ней. Ниже представ :
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(),
absolutePanel(
id = "image_panel",
fixed = TRUE,
top = "5%",
left = "23%",
right = "23%",
bottom = "5%",
width = "auto",
height = "70%",
style = "background-color: lightblue;
overflow-y: scroll;",
actionButton(inputId = "close_panel",
label = icon(name = "times",
lib = "font-awesome"),
style = "position: absolute;
top: 0;
right: 0;
background-color: rgba(0, 0, 0, 0);
border-width: 0px;
padding: 0px 5px 0px 0px;
z-index: 100000;"),
br(),
br(),
uiOutput(outputId = "image")
)
)
server <- function(input, output, session) {
observeEvent(input$close_panel, {
hideElement(id = "image_panel")
})
output$image <- renderUI({
tags$img(src = "https://tests-images-bucket.s3.eu-central-1.amazonaws.com/qWgXjZn.png",
width = "90%")
})
}
shinyApp(ui, server)
Чтобы решить эту проблему, мне пришлось установить ширину полосы прокрутки в ноль. Но это не лучшее решение. Лучшим решением было бы иметь полосу прокрутки, начинающуюся прямо под кнопкой «X» (чтобы не деактивировать кнопку), и она должна быть видна при прокрутке.
Есть идеи? Спасибо за вашу помощь!