【发布时间】:2016-12-11 04:34:47
【问题描述】:
在我的 Shiny 应用程序中,我试图根据是否定义了 ui.R 中的另一个用户输入来包含显示或隐藏操作按钮的逻辑。由于应用程序中的一些其他复杂性,我无法使用 uiOutput/renderUI 功能来执行此操作。
我的方法是为输入创建一个观察者,然后使用 CSS 标签相应地显示或隐藏操作按钮。我不了解 CSS,因此很困难。
这是我的应用程序中的 ui 表单 -
现在,我有一个反应函数locationSpecified,它返回输入位置是否为空,基于此我必须显示或隐藏“运行”按钮。
这是我在 ui.r 中添加“运行”按钮的方式...
fluidRow(column(6, align="center", offset = 3, actionButton("action", "RUN")))
这就是我在 server.R 中尝试的(但显然不起作用)...
observe({
if(locationSpecified() == 1)
tags$head(tags$style(type="button/css", ".btn {display: inline-block}"))
if(locationSpecified() == 0)
tags$head(tags$style(type="button/css", ".btn {display: none}"))
})
我希望解决这个问题并不复杂,如果你能告诉我如何让它工作,我将不胜感激。
提前致谢,
阿什
【问题讨论】:
-
shinyjs包有一个toggle函数,可以满足您的需求。conditionalPanel也可以。