Несколько условий в панели состояния R блестящий - PullRequest
0 голосов
/ 30 августа 2018

Можно ли использовать несколько условий при использовании панели условий в блестящем приложении? Я хочу скрыть определенный компонент пользовательского интерфейса для нескольких вкладок. Ниже приведено то, что я пытаюсь, но, кажется, не применяется, когда у меня несколько условий:

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)

1 Ответ

0 голосов
/ 31 августа 2018

Как сказал @RyanMorton, проблема заключалась в том, что вы использовали OR, когда вы должны были использовать AND:

condition = "input.tab !== '2' || input.tab !== '3'"

равно TRUE, когда вкладка не 2 или не 3, что всегда. Изменив его на:

condition = "input.tab !== '2' & input.tab !== '3'"

достаточно изменить вкладку на 2 или 3, чтобы сделать отметку FALSE и скрыть вкладку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...