У меня действительно странная проблема при рендеринге ввода текста для DT в моем блестящем приложении. В textinput хранится некоторое значение, которое используется в качестве одной из настроек приложения. Эти настройки хранятся в реактивном списке, один элемент списка - это data.table, в котором хранятся все настройки для рендеринга.
Я сделал воспроизводимый пример вместо фрагментов кода. Не красиво, но это иллюстрирует.
library(shiny)
rv = reactiveValues()
ui <- shinyUI(fluidPage(
textInput(inputId = "textinput", label = h3("Numeric input"), value = "some value"),
tags$hr(),
fluidRow(column(3, verbatimTextOutput("textinput"))),
tags$hr(),
tabPanel("Settings table for viewing", dataTableOutput('settings_table')),
))
server <- function(input, output, session) {
observe({
# lst_names = list()
# lst_values = list()
rv$textinput <- renderText( input$textinput )
output$textinput <- renderText({ input$textinput }) # this is displayed nicely
# lst_names = c(lst_names, "rv$textinput")
# lst_values = c(lst_values, rv$textinput)
rv$settings = data.table(Var_names = "rv$textinput", Var_values = rv$textinput)
})
output$settings_table = DT::renderDataTable(options = list(pageLength = 50), {
rv$settings
})
}
shinyApp(ui, server)
Я нашел этот кусок текста в github DT, но я не могу найти способ заставить его работать. Та же проблема с числовым вводом, rendertext, renderprint, перемещением rendertext / print из фрагмента «наблюдай».
Есть предложения?