我正在使用基本的Shiny UI模板,用户必须选择某个按钮才能输入应用。现在我使用了一个conditionalPanel(),但是输入按钮没有完全消失,是否可以将它们变灰?
这里有以下代码:
library(shiny)
library(shinyjs)
ui<-fluidPage(
headerPanel("Title"),
sidebarPanel(
radioButtons("toggle", "Some Buttons",
choices = list("Choice 1" = 1,
"Choice 2" = 2),
selected = "Choice 2")),
conditionalPanel(
condition = "input.toggle % 2 == 0",
sidebarPanel(radioButtons("otherButtons","Buttons",
choices = list("Choice 1"=1,
"Choice 2"=2)),
radioButtons("moreButtons","Buttons",
choices = list("Choice 1"= 1,
"Choice 2" = 2))
),
"Some Text"
)
)
server<-function(input,output,session){
}
shinyApp(ui,server)
答案 0 :(得分:0)
也许你可以试试这个。当您在第一个面板中选择选项1时,您将无法在第二个面板中选择任何内容。
ui <- fluidPage(
headerPanel("Title"), shinyjs::useShinyjs(),
sidebarPanel(id = "mySideBar",
radioButtons("toggle", "Some Buttons",
choices = list("Choice 1" = 1,
"Choice 2" = 2),
selected = "Choice 2")),
sidebarPanel(id = "mySideBar2",
radioButtons("otherButtons","Buttons",
choices = list("Choice 1"=1,
"Choice 2"=2)),
radioButtons("moreButtons","Buttons",
choices = list("Choice 1"= 1,
"Choice 2" = 2))
)
)
server<-function(input,output,session){
shinyjs::onclick("advanced2",
shinyjs::toggle(id = "advanced2", anim = TRUE))
observeEvent(input$toggle, {
if(input$toggle == "1"){
shinyjs::disable(id = "mySideBar2")
} else {
shinyjs::enable(id = "mySideBar2")
}
})
}
shinyApp(ui,server)