R:使用同一复选框组两次
下面的代码显示了一个包含两个选项卡的UI,每个选项卡都包含相同的复选框面板。我想一个面板更新,如果另一个更新,反之亦然。在服务器中使用了“观察”功能,但由于某些原因,如果tab1发生更改,它只会更新tab2上的复选框组,而不是相反。有人对如何解决这个问题有想法吗R:使用同一复选框组两次,r,checkbox,shiny,R,Checkbox,Shiny,下面的代码显示了一个包含两个选项卡的UI,每个选项卡都包含相同的复选框面板。我想一个面板更新,如果另一个更新,反之亦然。在服务器中使用了“观察”功能,但由于某些原因,如果tab1发生更改,它只会更新tab2上的复选框组,而不是相反。有人对如何解决这个问题有想法吗 library(shiny) ui <- shinyUI( navbarPage("tabs", tabPanel("tab1",
library(shiny)
ui <- shinyUI(
navbarPage("tabs",
tabPanel("tab1",
fluidPage(
sidebarPanel(
checkboxGroupInput("variable", "variable:",list("1" = "1","2" = "2","3" = "3","4" = "4","5" = "5"), selected = list("1"="1"))
)
)),
tabPanel("tab2",
fluidPage(
sidebarPanel(
checkboxGroupInput("variable", "variable:",list("1" = "1","2" = "2","3" = "3","4" = "4","5" = "5"), selected = list("1"="1"))
)
)
)
)
)
server <- function(input, output, session) {
observe({
updateCheckboxGroupInput("variable","variable:",list("1" = "1","2" = "2","3" = "3","4" = "4","5" = "5"),selected=input$variable)
})
}
shinyApp(ui = ui, server = server)
库(闪亮)
ui您不应该有两个具有相同id
的小部件。相反,只需调用它们,比如说,variable1
和variable2
,并创建两个不同的观察者来更新复选框
library(shiny)
ui <- shinyUI(
navbarPage("tabs",
tabPanel("tab1",
fluidPage(
sidebarPanel(
checkboxGroupInput("variable1", "variable:",
list("1" = "1","2" = "2","3" = "3","4" = "4","5" = "5"),
selected = list("1"="1"))
)
)),
tabPanel("tab2",
fluidPage(
sidebarPanel(
checkboxGroupInput("variable2", "variable:",
list("1" = "1","2" = "2","3" = "3","4" = "4","5" = "5"),
selected = list("1"="1"))
)
)
)
)
)
server <- function(input, output, session) {
observe({
# added 'session'
updateCheckboxGroupInput(session, "variable1",
choices = list("1" = "1","2" = "2","3" = "3","4" = "4","5" = "5"),
selected = input$variable2)
})
observe({
updateCheckboxGroupInput(session, "variable2",
choices = list("1" = "1","2" = "2","3" = "3","4" = "4","5" = "5"),
selected = input$variable1)
})
}
shinyApp(ui = ui, server = server)
库(闪亮)
感谢匿名用户!我们可以对其他小部件执行相同的操作吗?