У меня возникают проблемы с DT :: renderDataTable с реактивной функцией (которую я использую для выбора столбцов перетаскивания для фильтрации выбранных столбцов для отображения в пользовательском интерфейсе). Он работает локально на консоли, но отключается, когда я работаю на RServer по ссылке. Он ломается, когда пытается заполнить фрейм данных в пользовательском интерфейсе. Все версии пакетов одинаковы, я использую R 3.6.1. При локальной работе в консоли нет журналов ошибок.
Несколько дней назад это работало нормально, но не работает сейчас.
Ниже приведен фрагмент кода.
library(dplyr)
library(shiny)
library(shinyBS)
library(sortable)
library(shinyWidgets)
library(tidyr)
library(tidyverse)
library(tidyselect)
rv <- reactiveValues(data = NULL)
bsModal(id = "modalExample",title = 'Select Features and Re-Arrange ',
trigger = "tabBut", size = "large",
radioButtons('radio', 'Select Action', choices =
list('Default' = 'Default', 'Custom' = 'Custom'),
selected = 'Default', inline = T),
bucket_list(
header = "Select Features and Re-Arrange", group_name = "bucket_list_group",
add_rank_list(
text = "Drag from here",
labels =
c("Code","To", "Name", "From","Desc","Distance"),input_id = "rank_list_1"
),
add_rank_list(
text = "To here", labels = NULL,
input_id = "rank_list_2"),orientation = 'horizontal')
)
main_df <- reactive({
selected_action = input$radio
if(selected_action == 'Custom' ){
result <- rv$df %>%
select(all_of(input$rank_list_2))
}
else{result <- rv$df}
return(as.data.frame(result))
})
output$content <- DT::renderDataTable({
if(is.null(main_df())) return()
DT::datatable(main_df(),
selection = 'none', filter = 'top', editable = FALSE, options = list(autoWidth = TRUE))
})