Я хотел бы скрыть элемент при запуске блестящего приложения, но в отличие от этого примера скрываемый элемент является частью более крупного элемента, который видим.
ВВ этом примере элемент, который должен быть скрыт в начале, - это элемент управления рисованием, который является частью карты листовки. Есть кнопка, которая переключает видимость элемента управления рисунком - как я могу запустить его со скрытым элементом управления рисунком? Полный код приложения приведен ниже.
library(rbgm)
library(leaflet)
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(),
leafletOutput("mymap"),
actionBttn("toggle_button", "Toggle drawing")
)
server <- function(input, output, session) {
output$mymap <- renderLeaflet({
set.seed(2)
fs <- sample(bgmfiles::bgmfiles(), 1)
model <- boxSpatial(bgmfile(fs))
model <- spTransform(model, "+init=epsg:4326")
m <- leaflet() %>% addTiles()
m <- m %>% addPolygons(data = model, group = 'model') %>%
addDrawToolbar(targetGroup = 'model',
editOptions = editToolbarOptions(
selectedPathOptions = selectedPathOptions()))
m
})
observe({
shinyjs::hide(selector = "div.leaflet-draw") # <---- this doesn't hide the draw controls at the start!!
})
observeEvent(input$toggle_button, {
shinyjs::toggle(selector = "div.leaflet-draw")
})
}
shinyApp(ui, server)
Я пытался использовать observe
, чтобы скрыть элемент в начале, однаконичего не делает, предположительно потому, что элемент управления рисованием загружается после срабатывания события наблюдения.