R Shiny: обновить текст без обновления данных - PullRequest
0 голосов
/ 26 марта 2020

Приложение My R Shiny содержит текст и данные. Когда я щелкаю строку с данными, данные изменяются, и таблица обновляется с использованием прокси с данными, чтобы страница таблицы не изменялась. Также текст обновляется, чтобы показать, сколько строк было нажато.

Проблема в том, что при обновлении текста он также обновляет таблицу, которая сбрасывается на страницу 1., разрушая смысл использования прокси-сервера с данными.

Вот рабочий пример. Запустите его с последней строкой кода и без нее (строка кода начинается с v$selected_count <- ...)

library(shiny)
library(DT)

shinyApp(
  ui = fluidPage(
    uiOutput("app_ui")
    )    
  , server = function(input, output){

    v <- reactiveValues(
      selected_count = 0
      , data = iris
    )

    output$app_ui <- renderUI({
      tagList(
        h5(v$selected_count)  # Want this to update without affecting the datatable
        , DTOutput('tbl')
      )
    })

    output$tbl = renderDT({
      datatable(iris)
      })

    observeEvent(
      input$tbl_rows_selected
      , {
        i <- input$tbl_rows_selected
        v$data[i, "Species"] <- ""

        dataTableProxy("tbl") %>% replaceData(v$data, resetPaging = FALSE, clearSelection = FALSE)

        v$selected_count <- v$selected_count + 1 # Comment this line to see the difference to the datatable
      }
    )      

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