R 闪亮条件面板-条件不';t工作(输出条件)

R 闪亮条件面板-条件不';t工作(输出条件),r,conditional,shiny,R,Conditional,Shiny,我正试图基于在我的server.R代码中生成的输出在Shining中使用conditionalPanel。我无法使用输入,因为这不符合我的需要。 我的代码基于我在以下网站上找到的示例: UI.R代码: tabSubMenuSaveData <- tabItem("subMenuSaveData", conditionalPanel( condition = "output.test", uiOutp

我正试图基于在我的server.R代码中生成的输出在Shining中使用conditionalPanel。我无法使用输入,因为这不符合我的需要。 我的代码基于我在以下网站上找到的示例:

UI.R代码:

tabSubMenuSaveData <-
  tabItem("subMenuSaveData",      
          conditionalPanel(
            condition = "output.test",  
              uiOutput(outputId = "ui_save_data")
          )
  )
tabSubMenuSaveData <-
  tabItem("subMenuSaveData", 
          conditionalPanel(
            condition = ("output.file_Uploaded > 0"),
            uiOutput(outputId = "ui_save_data")
          )
  ) 

tabSubMenuSaveData
output$test
必须是一个输出,并且必须在ui端调用它。我有一个处理相同问题的应用程序,我使用了类似的东西:

#用户界面

#服务器.R

输出$check\u cond 0)返回NULL
div('选择一个合适的数据集!',align='center',style='color:red;')
})

我认为那些文档非常过时。。。我从来没有见过输出被这样使用,我只是尝试了那个页面上的代码,但它似乎不起作用

作为替代解决方案,您可以使用
shinyjs
来显示/隐藏面板,而不是使用
conditionalPanel
。例如(这是未经测试的代码):

#安装程序包(“shinyjs”)
图书馆(shinyjs)
#用户界面:
...

tabSubMenuSaveData未能根据前面给出的答案找到有效的解决方案。 我的一个朋友帮我找到了一个有效的解决办法。答复如下:

UI.R代码:

tabSubMenuSaveData <-
  tabItem("subMenuSaveData",      
          conditionalPanel(
            condition = "output.test",  
              uiOutput(outputId = "ui_save_data")
          )
  )
tabSubMenuSaveData <-
  tabItem("subMenuSaveData", 
          conditionalPanel(
            condition = ("output.file_Uploaded > 0"),
            uiOutput(outputId = "ui_save_data")
          )
  ) 
tabSubMenuSaveData
# install.packages("shinyjs")
library(shinyjs)

# UI:

...
tabSubMenuSaveData <-
  tabItem("subMenuSaveData",   
          div(id = "mydiv",    
            uiOutput(outputId = "ui_save_data")
          )
  )
...


# server:

...
dataset <- reactive({
  datasets()$datasetlist[[input$datasetSelector]]
})

observe({
  toggle(id = "mydiv", condition = nrow(dataset()) > 0)
})
...
tabSubMenuSaveData <-
  tabItem("subMenuSaveData", 
          conditionalPanel(
            condition = ("output.file_Uploaded > 0"),
            uiOutput(outputId = "ui_save_data")
          )
  ) 
output$file_Uploaded <- reactive({
  return(!is.null(getData())) 
})