Пререквизиты: Блестящее приложение с использованием модуля, содержащего выход пользовательского интерфейса. Сам вывод пользовательского интерфейса содержит любой вход (например, textInput
). Все идентификаторы (от UIOutput и Ввода) генерируются с использованием ns()
Реактивный входной вектор странно использует кавычки в блестящих модулях
замечания: мой input
Вектор сохраняется внутри с цитатами. Это не проблема, но не позволяет мне использовать вход в javascript (в conditionalInput(condition='input.myModule-myInputtest=="someText"')
). Как я могу добиться того, что input$'mymodule'
называется input$myModule
? Это ошибка, или я делаю что-то неправильно?
Спасибо заранее и наилучшими пожеланиями
Minimal Например:
library(shiny)
ui <- fixedPage(
h2("Module example"), myModuleUI("myModule"), verbatimTextOutput("summary")
)
server <- function(input, output, session) {
callModule(myModule, "myModule", stringsAsFactors=F)
output$summary <- renderPrint({ reactiveValuesToList(input) })
}
shinyApp(ui, server)
myModuleUI <- function(id) {
ns <- NS(id)
uiOutput(ns("myInput"))
}
myModule <- function(input, output, session, stringsAsFactors) {
output$myInput <- renderUI({ textInput(ns("myInputtest"), "A Text Input") })
}
комментарий: это, наверное, всегда бывает, когда идентификатор используется «-». Когда я меняю uiOutput на «textInput» («myModule-myInput», «A Text Input»), проблема сохраняется. Так это предназначено блестящим? Есть ли обходной путь? – shosaco
Это функция R. Как и во всем R-коде, если вам нужно использовать нестандартное имя аргумента или переменной (например, одно, которое включает тире), вам также нужно будет использовать обратные элементы вокруг него. –