R 闪亮:基于所选级别有条件地更新SelectizeInput
我想使用基于条件输入的选定值s_l更新selectizeInput。c_l_check=='y' 但是,它正在使用输入$s_l而不是其值进行更新。它应该是: updateSelectizeInputsession,'c_l',choices=input$s_l,server=TRUE 也就是说,输入$s_l应该不带引号 编辑: 以下是一个工作示例:R 闪亮:基于所选级别有条件地更新SelectizeInput,r,shiny,R,Shiny,我想使用基于条件输入的选定值s_l更新selectizeInput。c_l_check=='y' 但是,它正在使用输入$s_l而不是其值进行更新。它应该是: updateSelectizeInputsession,'c_l',choices=input$s_l,server=TRUE 也就是说,输入$s_l应该不带引号 编辑: 以下是一个工作示例: data <- data.frame(D = iris$Species) ShinyUi <- fluidPage( sideba
data <- data.frame(D = iris$Species)
ShinyUi <- fluidPage(
sidebarLayout(
sidebarPanel(
checkboxGroupInput('s_l', 'D to show:', levels(data$D), selected = levels(data$D)),
radioButtons("c_l_check", "D to colour:", list("Yes"='y', "No"='n'), selected = 'n'),
conditionalPanel( condition = "input.c_l_check=='y'",
selectizeInput( inputId = "c_l", label = "D to color:", multiple = T, choices = NULL))
),
mainPanel()
))
ShinyServer <- function(input, output, session) {
observe({
# Updating selectize input
updateSelectizeInput(session, 'c_l', choices = input$s_l, server = TRUE)
})
}
# Run the application
shinyApp(ui = ShinyUi, server = ShinyServer)
它给出的是s_l的值,而不是levelsdata$D。如果您已经有了它的工作示例,请您指给我看。观察是解决方案的关键。成功了,谢谢!在场边,你能看一下它是否有责任吗?
data <- data.frame(D = iris$Species)
ShinyUi <- fluidPage(
sidebarLayout(
sidebarPanel(
checkboxGroupInput('s_l', 'D to show:', levels(data$D), selected = levels(data$D)),
radioButtons("c_l_check", "D to colour:", list("Yes"='y', "No"='n'), selected = 'n'),
conditionalPanel( condition = "input.c_l_check=='y'",
selectizeInput( inputId = "c_l", label = "D to color:", multiple = T, choices = NULL))
),
mainPanel()
))
ShinyServer <- function(input, output, session) {
observe({
# Updating selectize input
updateSelectizeInput(session, 'c_l', choices = input$s_l, server = TRUE)
})
}
# Run the application
shinyApp(ui = ShinyUi, server = ShinyServer)