У меня блестящее приложение, которое считывает данные из папки один раз в день, используя reactiveFileReader()
df <- reactiveFileReader(
intervalMillis = 24*60*60*1000,
session = session,
filePath = 'data/df.Rds',
readFunc = readRDS
)
Это затем отображается в виде таблицы на интерфейсе пользователя
output$demands_table <- renderDT({
datatable(df(), rownames = FALSE)
})
Кроме того, пользователю также нужна кнопка refre sh, по которой он может щелкнуть, чтобы обновить данные sh вручную, а не считывать один раз в день через reactiveFileReader()
. Вот где я борюсь. Я создал кнопку действия, которая делает это:
observeEvent(input$refresh, {
source('get_data.R') #script to update df.Rds
df <- reactive(readRDS('data/df.Rds'))
})
Это не автоматически обновляет sh данные в пользовательском интерфейсе. Если я обновлю свой браузер sh, данные обновятся. Я также попытался создать reactiveValues()
, но результаты остались прежними.
rvs <- reactiveValues()
output$demands_table <- renderDT({
rvs$df <- df()
datatable(rvs$df, rownames = FALSE)
})
observeEvent(input$refresh, {
source('get_data.R') #script to update df.Rds
rvs$df <- readRDS('data/df.Rds')
})
Как можно добиться этой функциональности, обновляя данные с помощью reactiveFileReader()
, а также вручную обновляя их с помощью кнопки действия?