私は、次のオブザーバーが反応するために実際に入力を更新していないのですが、updateCheckboxGroupInputに問題があります。Shiny updateCheckboxInputGroup
私はいくつかの結果がわかりました(私はたくさんのことがあります)、誰かが私を啓発できることを願っています。次のコードスニペットは、関数の光沢のあるヘルプで提供されるコードのバリエーションです。
ui <- fluidPage(
p("The first checkbox group controls the second"),
checkboxGroupInput("inCheckboxGroup", "Input checkbox",
c("Item A", "Item B", "Item C")),
checkboxGroupInput("inCheckboxGroup2", "Input checkbox 2",
c("Item A", "Item B", "Item C"))
)
server <- function(input, output, session) {
observeEvent({input$inCheckboxGroup},{
print(input$inCheckboxGroup2)
x <- input$inCheckboxGroup
# Can use character(0) to remove all choices
if (is.null(x))
x <- character(0)
# Can also set the label and select items
updateCheckboxGroupInput(session, "inCheckboxGroup2",
label = paste("Checkboxgroup label", length(x)),
choices = c("Item A", "Item B", "Item C"),
selected = x
)
print(input$inCheckboxGroup2)
})
}
shinyApp(ui, server)
私はobserveEvent()を使用してこのコードを実行すると、最初のボックスのグループの両方「印刷」のチェックボックスを私に変更する前の選択を与える(一つの印刷が前にではあるがとupdateCheckboxGroupInput後1 )。 Correspondingly(私は思う)observeEventsを誤って間違った入力を使用して次の。
ui <- fluidPage(
p("The first checkbox group controls the second"),
checkboxGroupInput("inCheckboxGroup", "Input checkbox",
c("Item A", "Item B", "Item C")),
checkboxGroupInput("inCheckboxGroup2", "Input checkbox 2",
c("Item A", "Item B", "Item C"))
)
server <- function(input, output, session) {
observe({
print(input$inCheckboxGroup2)
x <- input$inCheckboxGroup
# Can use character(0) to remove all choices
if (is.null(x))
x <- character(0)
# Can also set the label and select items
updateCheckboxGroupInput(session, "inCheckboxGroup2",
label = paste("Checkboxgroup label", length(x)),
choices = c("Item A", "Item B", "Item C"),
selected = x
)
print(input$inCheckboxGroup2)
})
}
shinyApp(ui, server)
私はがを観察し、ボックスの最初のグループにチェックボックスを両方とも(一つの印刷前とupdateCheckboxGroupInput後の1ですが)、「印刷」変更した後、私に選択を与える使用してこのコードを実行します。
どうしてですか?また、observeEventを使って、後続のイベントオブザーバーによって更新された値が使用されていることを確認するにはどうすればよいですか?私の質問はこの質問に関連している
は、しばらく前に尋ねた:
Shiny "updateCheckboxGroupInput" inconsistency
答えはそこに私を助けていませんでした。選択した引数を文字(0)に設定しても、何も変更されませんでした。