前提条件: Shiny AppがUI出力を含むモジュールを使用しています。 UI出力自体には任意の入力が含まれます(例:textInput
)。 (入力UIOutputのとの)すべてのIDがns()
反応入力ベクトルが奇妙に光沢のあるモジュールで引用符を使用しています
観察を使用して生成されます。私input
ベクターは、内部の引用で保存されます。それは問題ありませんが、私はjavascript(conditionalInput(condition='input.myModule-myInputtest=="someText"')
)の入力を使用できません。 input$'mymodule'
はinput$myModule
と呼ばれていますが、どうすればいいですか?それはバグですか、何か間違っていますか?
事前に感謝し、よろしく
最小例:自分の質問に答えるための
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") })
}
コメント:IDを使用している場合、これはおそらく、常にそうです「 - 」。 uiOutputを 'textInput(" myModule-myInput "、" A Text Input ")として変更すると、問題は解決されません。だからこれは輝くことによって意図されていますか?回避策はありますか? – shosaco
これはR機能です。すべてのRコードと同様に、非標準の引数や変数名(例えばダッシュを含むもの)を使用する必要がある場合は、そのまわりでバッククッキーを使用する必要があります。 –