【发布时间】:2018-03-25 21:33:16
【问题描述】:
如何在 Shiny 中隐藏条件面板?请看下面的例子:
library(shiny)
ui <- fluidPage(
actionButton("eval","Evaluate"),
numericInput("num_input", "If number is changed, cp must hide", value = 0),
conditionalPanel(
condition = "input.eval",
"text"))
server <- function(input, output, session) {
observeEvent(input$num_input, {
input$eval <- 0
})}
shinyApp(ui, server)
我想要实现的是:一旦用户单击评估按钮,条件面板就会出现,但是一旦num_input 中的数字改变,面板就会消失。我的想法是取消评估按钮,但这不起作用(应用程序以灰色背景打开并且似乎被冻结)。
我也像这样用shinyjs 尝试过:
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(),
actionButton("eval","Evaluate"),
numericInput("num_input", "If number is changed, cp must hide", value = 0),
conditionalPanel(
id = "cond_panel",
condition = "input.eval",
"text"))
server <- function(input, output, session) {
observeEvent(input$num_input, {
reset("cond_panel")})}
shinyApp(ui, server)
但这也不起作用:应用程序会定期打开,单击评估按钮后会显示条件面板,但更改数字后不会发生任何事情。
【问题讨论】: