как динамически обновлять html-таблицу в блестящем приложении

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

сервер.R

library(hwriter)
shinyServer(function(input, output) {

    output$distPlot <- renderText({
        mass <- as.numeric(input$mass) 
        win <- as.numeric(input$sswin) 
        m1 <- mass-win/2
        m2 <- mass+win/2


        etr <- paste0("http://rest.kegg.jp/find/compound/", m1, "-", m2, "/exact_mass")
        tb <- read.table(etr)  
        colnames(tb) <- c("id", "mass")

        #p <- openPage('test.html')
        tblk <- cbind(paste0("http://www.kegg.jp/dbget-bin/www_bget?", tb[,1]), NA)
        #hwrite(tb, p, link = tblk)
        hwrite(tb, link = tblk)
        #close(p)

      })


})

ui.R

library(shiny)

shinyUI(fluidPage(


  sidebarLayout(
    sidebarPanel(

           textInput("mass", "Mass:", "200.05"),
           textInput("sswin", "Search window:", "0.5")

    ),


    # Show a plot of the generated distribution
    mainPanel(

      #plotOutput("distPlot"),
      #includeHTML("test.html")
      uiOutput("distPlot")


    )
  )
))

Таблица создается, но я не знаю, как ее обновить.

Я придумал способ и отредактировал выше.


person user1265067    schedule 18.11.2014    source источник
comment
Кажется, это называется реактивировать. См. пост   -  person Cron Merdek    schedule 18.11.2014
comment
Спасибо @CronAcronis, я нашел способ и изменился.   -  person user1265067    schedule 18.11.2014


Ответы (1)


Я столкнулся с той же проблемой, что и пользователь 1265067, и нашел решение этой проблемы.

Поскольку на этот вопрос нет ответа, и в случае, если другие пользователи наткнутся на этот поток, найдите мое решение (с примером работающей игрушки) в этом потоке: Shiny — заполнение статической HTML-таблицы отфильтрованными данными на основе введенных данных

In Короче говоря, я оборачиваю статическую html-таблицу в функцию, загружаю ее на сервер и вызываю в функции renderUI().

person Martin G.    schedule 17.05.2017