Кнопка динамического скачивания - PullRequest
0 голосов
/ 24 мая 2019

Привет, у меня проблема с кнопкой загрузки в моем приложении Shiny. Я создал кнопку динамически, когда соответствующий DF был создан. Теперь у меня проблема в том, что загрузка не работает. Если я создал кнопку напрямую, загрузка работает. Я сделал то же самое с функцией сброса, и все работает здесь. Может кто-нибудь сказать мне, что я делаю не так?

Это код кнопки в пользовательском интерфейсе:

column(3, offset = 0, uiOutput("download.action", style = "text-align: center;"))

и мой код сервера выглядит так:

    output$download.action <- renderUI({
      div(style = "display:inline-block;width:0%;", actionButton("downloadData", "Download", icon = icon("download"), 
      style = " 
         flex-grow: 1;
        display: inline-block;
        background-color:#999;
        text-decoration: none;
        font-weight: 300;
        border: 1px dash transparent;
        letter-spacing: 0.98pt;
        border-color:#00245d;"))
    })

    output$downloadData <- downloadHandler(
      filename = function() {
        paste("test.xlsx")
      },
      content = function(file) {
        write.xlsx(test3, file, row.names = FALSE)
      }
    )
  })

Когда я создаю кнопку напрямую, все отлично работает.

Shiny не выдает сообщений об ошибках. Не работала только кнопка.

1 Ответ

1 голос
/ 24 мая 2019

Вы должны заменить actionButton на downloadButton.

output$download.action <- renderUI({
    div(style = "display:inline-block;width:0%;", downloadButton("downloadData", "Download", icon = icon("download"), 
                                                               style = " 
                                                               flex-grow: 1;
                                                               display: inline-block;
                                                               background-color:#999;
                                                               text-decoration: none;
                                                               font-weight: 300;
                                                               border: 1px dash transparent;
                                                               letter-spacing: 0.98pt;
                                                               border-color:#00245d;"))
  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...