繁体   English   中英

在R Shiny App中使选项卡可见但不可访问

[英]Making a tab visible but inaccessible in R Shiny App

我有这个在4Gb RAM Shiny服务器上运行的应用程序,但我也将其上传到了Shinyapps.io(仅限于1Gb RAM)上。 问题在于选项卡之一将始终使应用程序崩溃。 实际上,此选项卡需要超过1Gb的RAM才能运行。

因此,我想知道是否有一种方法可以让应用程序看起来像它,用户可以看到所有选项卡(这样他就知道应用程序可以对好的服务器进行处理)。 还要使这些选项卡之一不可访问。 我的意思是,用户可以浏览所有选项卡,除非他在特定崩溃的选项卡上翻了翻,但没有一点输入符号会弹出给用户。 因此,他不能仅单击此选项卡,但仍然看到它。

Thx,我认为这是不可能的,但我们永远不知道! 也许用一些Javascript或CSS!

我所有的标签都这样:

在此处输入图片说明

有点hack但是可以工作的例子

思路

1)将ID添加到所有标签和hrefs(为其创建函数)

2)禁用它

禁用actionbutton上的tab表(我不知道您如何估算“好的服务器”,因此手动禁用tab)

library(shiny)
library(shinyjs)


server<-shinyServer(function(input, output) {
  observeEvent(input$disable,{
    disable("Table")
    disable("Table_")
  })

})
add_id=function(ss){

  ss$children[[1]]$children=lapply(ss$children[[1]]$children,function(i){
    i$attribs=list(id=i$children[[1]]$attribs["data-value"][[1]])
    i$children[[1]]$attribs=c(i$children[[1]]$attribs,id=paste0(i$children[[1]]$attribs["data-value"][[1]],"_"))
    return(i)
  })
  return(ss)
}


ui<-shinyUI(fluidPage(
    useShinyjs(),
    actionButton("disable","disable"),
    add_id(tabsetPanel(
      tabPanel("Plot", h1("1")), 
      tabPanel("Summary", h1("2")), 
      tabPanel("Table", h1("3"))
    ))

))
runApp(list(ui=ui,server=server))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM