У меня возникла небольшая проблема (возможно, ошибка?) С закладками Shiny - я создаю динамический интерфейс - новые текстовые и числовые поля. Эти входы создаются нажатием кнопки ActionButton. При сохранении URL-адреса закладки - значения числового и текстового ввода находятся в этом URL-адресе. Все идет нормально. Однако после загрузки сохраненного URL-адреса я вижу только первый динамически созданный пользовательский интерфейс. Мне нужно нажать кнопку действия, чтобы добавить следующие числовые и текстовые поля. Значения сохраняются в URL-адресе, и после добавления этих входных данных они заполняются правильными сохраненными значениями. Но это немного неудобно, если у вас есть 20 таких кнопок, и вам нужно щелкнуть 19 раз, чтобы все они оказались на экране. Вот короткий воспроизводимый пример.
library(shiny)
ui <- function(request){
shinyUI(fluidPage(
bookmarkButton(),
sidebarLayout(
actionButton('addElement', 'Add Element', icon("plus"), class="btn-success text-white"),
mainPanel(
id ="content"
)
)
))
}
shinyServer(function(input, output) {
enableBookmarking("url")
countvar <<- 0
observeEvent(input$addElement, {
countvar <<- countvar + 1
element <- paste0("var", countvar)
insertUI(
selector = "#content",
where = "beforeEnd",
ui = tagList(
wellPanel(
style = "display:-webkit-inline-box;width:100%",
id = element,
column(3,
textInput(element, "Element name")
),
column(3,
numericInput(paste0(element, "Value"), "Element Value", NULL)
)
)
)
)
})
})
Я нашел аналогичный вопрос по SO, к сожалению, без ответа - Блестящие закладки приложений: динамический ввод пользовательского интерфейса потерян
onRestore()
. Взгляните на эту статью: shiny.rstudio.com/articles/advanced-bookmarking.html - person Bárbara Borges   schedule 28.06.2017onRestore()
в свой код. Что именно я должен вызывать - запускать часть кода ObservationElement? Или просто парсинг в чистом HTML? Спасибо, я немного растерялся. - person ledogbert   schedule 28.06.2017