Как очистить fileInput с помощью параметров selectInput в R - PullRequest
0 голосов
/ 08 мая 2020

Как я могу очистить файл данных с поддержкой fileInput, как только я изменю параметр для selectinput. Я пробовал функцию renderUI, но параметры велики, и я также пробовал рендерить идентификатор образца в fileInput, но наблюдение не работает.

1 Ответ

0 голосов
/ 08 мая 2020

Это хорошо сочетается с битом JavaScript. Предполагая, что btn - это идентификатор вашего selectInput:

server.R

shinyServer(function(input, output, session) {

  observe({
    input$btn
    session$sendCustomMessage(type = "resetFileInputHandler", "file1") 
  })

})

Теперь на стороне клиента нам нужно зарегистрировать функцию-обработчик, которая будет быть вызванным сервером и внести необходимые изменения.

ui.R

shinyUI(bootstrapPage(

  fileInput('file1', 'I am the fileInput'),
  selectInput("btn", "Change me", c(1,2,3)),

  tags$script('
    Shiny.addCustomMessageHandler("resetFileInputHandler", function(x) {      
        var id = "#" + x + "_progress";      # name of progress bar is file1_progress
        var idBar = id + " .bar";  
        $(id).css("visibility", "hidden");   # change visibility
        $(idBar).css("width", "0%");         # reset bar to 0%
    });
  ')
))

source

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...