闪亮的 conditionalPanel() JS 条件不适用于 bslib

Posted

技术标签:

【中文标题】闪亮的 conditionalPanel() JS 条件不适用于 bslib【英文标题】:shiny conditionalPanel() JS condition not working with bslib 【发布时间】:2021-11-17 05:54:46 【问题描述】:

使用shiny 1.6.0 和bslib 0.3.0。

按预期工作:

library(shiny)

ui <- navbarPage(
    title = "Minimal Example Issue",
    id = "tabs",
    header = conditionalPanel(
            condition = "input.tabs == 'tab_1'",
            html("Special tab 1")
        ),
    tabPanel("tab_1", "Hello"),
    tabPanel("tab_2", "Hi")
)

server <- function(input, output) 

shinyApp(ui = ui, server = server)

这不是因为选择 tab_1 时不满足条件:

library(shiny)
library(bslib)

ui <- page_navbar(
    title = "Minimal Example Issue",
    id = "tabs",
    header = conditionalPanel(
            condition = "input.tabs == 'tab_1'",
            HTML("Special tab 1")
        ),
    nav("tab_1", "Hello"),
    nav("tab_2", "Hi")
)

server <- function(input, output) 

shinyApp(ui = ui, server = server)

我想了解第二个例子中的input.tabs是由哪个JS元素代替的。

【问题讨论】:

【参考方案1】:

将闪亮升级到 1.7.0(现在在 CRAN 上)修复它

【讨论】:

以上是关于闪亮的 conditionalPanel() JS 条件不适用于 bslib的主要内容,如果未能解决你的问题,请参考以下文章

使 conditionalPanel 依赖于使用 fileInput 上传的文件

仅当绘图类型是条形图时才显示这些面板。 R 闪亮

Shiny:基于 selectizeInput 的 conditionalPanel 问题

如何在 Shiny 的 ConditionalPanel 中将列表添加到隐藏的选项中?

conditionalPanel 和 uiOutput/req 模式之间的区别

Shiny pickerInput - conditionalPanel 仅将值设置为第一个选择