Использование перекрестных помех с Shiny для фильтрации реактивных данных - PullRequest
0 голосов
/ 30 сентября 2019

Я использую реактивные данные, совместно используемые картой и данными, которые фильтруются с помощью filter_slider.

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

Я намеренно хочу, чтобы данные были реактивными внутри кода сервера в отличие от этот вопрос ,где данные находятся за пределами пользовательского интерфейса и сервера. Это потому, что я хочу, чтобы у каждого пользователя был свой набор данных при использовании приложения.

library(shiny)
library(crosstalk)
library(leaflet)
library(DT)


ui <- fluidPage(
  # Create a filter input
  uiOutput("filter_slider"),
  bscols(leafletOutput("map"), DTOutput("table"))
)

server <- function(input,output) {

  my_data <- reactive(quakes[sample(nrow(quakes), 100),])
  shared_data <- SharedData$new(my_data)

  output$filter_slider <- renderUI({
    filter_slider("mag", "Magnitude", shared_data, column="mag", step=0.1, width=250)
  })

  output$map <- renderLeaflet({ leaflet(shared_data) %>% addTiles() %>% addMarkers()})

  output$table <- renderDT({
    datatable(shared_data, extensions="Scroller", style="bootstrap", class="compact", width="100%",
              options=list(deferRender=TRUE, scrollY=300, scroller=TRUE))
  }, server = FALSE)
}

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