#r #shiny
Вопрос:
Я использую тему начальной загрузки для своего приложения в shiny.
Эта тема предоставляет некоторые стили кнопок, которые связаны с определенным классом. Например:
<button type="button" class="btn btn-primary">Primary</button>
<button type="button" class="btn btn-secondary">Secondary</button>
<button type="button" class="btn btn-success">Success</button>
<button type="button" class="btn btn-link">Link</button>
Однако, когда я создаю новую кнопку с:
shiny::actionButton(ns("btn_wuser"),
class = "btn btn-link",
label = "Button")
Я не могу указать, к какому классу должна быть привязана кнопка.
Я тоже пытался:
shiny::actionButton(ns("btn_wuser"),
style = "class: 'btn btn-link;'")
Минимальный воспроизводимый пример:
library(shiny)
library(bslib)
ui <- navbarPage(
theme = bslib::bs_theme_update(bslib::bs_theme(),
base_font = bslib::font_google("Montserrat"),
code_font = bslib::font_google("Montserrat"),
bootswatch = "lumen",
bg = "#ecf0f5",
fg = "#000000"),
collapsible = TRUE,
shiny::actionButton("btn_wuser",
class = "btn btn-link",
label = "Button"
)
)
server <- function(input, output, session) {
}
shinyApp(ui = ui, server = server)
Кто-нибудь может мне помочь?
Ответ №1:
Я немного очистил ваш пример, чтобы лучше использовать navbarPage
макет. Я полагаю, что в примере с кнопкой, который вы опубликовали btn-link
, уже был класс. Вот пример, который показывает все 4 класса, о которых вы упомянули. Для каждого из них класс может быть записан как или btn btn-name
или btn-name
.
library(shiny)
library(bslib)
ui <- navbarPage(
title = "My button gallery",
theme = bslib::bs_theme_update(bslib::bs_theme(),
base_font = bslib::font_google("Montserrat"),
code_font = bslib::font_google("Montserrat"),
bootswatch = "lumen",
bg = "#ecf0f5",
fg = "#000000"),
collapsible = TRUE,
tabPanel("Tab A",
fluidRow(
column(12,
shiny::actionButton("btn_wuser",
class = "btn btn-link",
label = "Button Link"
),
br(),
shiny::actionButton("btn_wuser2",
class = "btn-link",
label = "Button Link"
),
br(),
shiny::actionButton("btn_wuser3",
class = "btn btn-success",
label = "Button Success"
),
br(),
shiny::actionButton("btn_wuser4",
class = "btn-success",
label = "Button Success"
),
br(),
shiny::actionButton("btn_wuser5",
class = "btn btn-primary",
label = "Button Primary"
),
br(),
shiny::actionButton("btn_wuser6",
class = "btn-primary",
label = "Button Primary"
),
br(),
shiny::actionButton("btn_wuser7",
class = "btn btn-secondary",
label = "Button Secondary"
),
br(),
shiny::actionButton("btn_wuser8",
class = "btn-secondary",
label = "Button Secondary"
)
)
)
)
)
server <- function(input, output, session) {
}
shinyApp(ui = ui, server = server)