【发布时间】:2018-08-30 20:06:51
【问题描述】:
在闪亮的应用程序中使用条件面板时是否可以有多个条件?我想为几个选项卡隐藏一个特定的 UI 组件。以下是我正在尝试的,但当我有多个条件时它似乎并不适用:
library(shiny)
library(shinyWidgets)
library(shinydashboard)
library(DT)
sidebar <- dashboardSidebar(
sidebarMenu(id = "tab",
menuItem("1", tabName = "1"),
menuItem("2", tabName = "2"),
menuItem("3", tabName = "3")
)
)
body <- ## Body content
dashboardBody(box(width = 12,fluidRow(
fluidRow( column(
width = 3, textInput("text1", label = h5("Min"), value = "1")),
column(
width = 3, textInput("text2", label = h5("Max"), value = "2")),
conditionalPanel(
condition = "input.tab !== '2' || input.tab !== '3'" , column(
width = 3, textInput("text3", label = h5("Max"), value = "3"))),
column(
width = 3, textInput("text4", label = h5("Max"), value = "4")))
)))
ui <- dashboardPage(dashboardHeader(title = "Scorecard"),
sidebar,
body)
# Define the server code
server <- function(input, output,session) {
output$op <-renderDataTable({
df_format()
})
}
shinyApp(ui = ui, server = server)
【问题讨论】:
-
重复的问题有两个单独的输入。在我的问题中两者都是相同的。
-
我明白你在说什么,但是条件来自哪里并不重要:可以使用该语法将多个条件写入条件面板。如果它仍然无法正常工作,可能还有另一个问题 - 一个可重现的示例将有助于 id。
-
刚刚添加了一个可重现的例子
-
condition = "input.tab !== '2' && input.tab !== '3'"导致条件面板,因为只有 3 个面板。你写东西的方式,条件总是TRUE。您的问题是使用OR运算符而不是多个条件的逻辑之一。