如何在 bslib nav_insert 之后更改导航选项卡的 CSS 类和样式?

问题描述 投票:0回答:1

目前,对于

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 演示展示了基本工作语法的想法。

javascript css r shiny bslib
1个回答
0
投票
您可以将

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)
    
© www.soinside.com 2019 - 2024. All rights reserved.