目前,对于
bslib
包,nav_insert()
到 page_navbar
不会传递与常规选项卡窗格相同的 CSS 类,如发布到 bslib
Github 的此问题中所述回购。
OP提供的reprex如下:
library(shiny)
library(bslib)
ui <- page_navbar(
id = 'nav',
nav_panel('Page 1',
card("Content 1")))
server <- function(input, output, session) {
nav_insert(id = "nav",
nav = nav_panel('Page 2',
card("Content 2")))
}
shinyApp(ui, server)
新插入的选项卡“Page 2”没有与“Page 1”选项卡相同的 css 类,即
html-fill-item html-fill-container bslib-gap-spacing
。
有没有办法在插入后添加这些类?我尝试在服务器中使用
runjs($('[data-value=Page 1]').addClass('html-fill-item'))
(以及它的几次迭代),但这不起作用。
一个非常简单的 JSFiddle 演示展示了基本工作语法的想法。
class
和
style
显式传递给
nav_panel
。
library(shiny)
library(bslib)
ui <- page_navbar(
id = 'nav',
nav_panel('Page 1',
card("Content 1")))
server <- function(input, output, session) {
nav_insert(id = "nav",
nav = nav_panel('Page 2',
class = "html-fill-item html-fill-container bslib-gap-spacing",
style = "--bslib-navbar-margin:0;",
card("Content 2")))
}
shinyApp(ui, server)