如何在 Shiny 中放置按钮

Rus*_*ian 3 r shiny

我正在构建一个闪亮的应用程序,其中将是一个带有三个选项卡(tab1、tab2 和 tab3)的 tabsetPanel。我将有两个适用于所有选项卡的操作按钮,但我不希望选项卡内的操作按钮,我希望它们位于选项卡的最右侧,所以现在无论您在哪个选项卡中,您始终可以看到操作按钮。这是我正在谈论的一些代码:

tabsetPanel(

        tabPanel(
           title = "Tab1"
        )

        tabPanel(
           title = "Tab2"
        )

        tabPanel(
           title = "Tab3"
        )
)
Run Code Online (Sandbox Code Playgroud)

所以我希望这两个操作按钮位于选项卡的最右侧但位于 tabsetPanel 之外。

actionButton('load_inputs', 'Load inputs')
actionButton('save_inputs', 'Save inputs')
Run Code Online (Sandbox Code Playgroud)

如果有一种方法可以在actionButton()函数内指定您希望按钮出现的位置,那就太好了。

Geo*_*any 5

您可以使用 CSS 定义任何元素的位置。您可以通过添加属性 style: 为每个按钮添加样式actionButton(style= "...")。您也可以使用自定义样式创建一个 .css 文件。但是对于这种情况,您可以将样式设置div为按钮所在的位置。

下面是在tabsetPanel.

library(shiny)

ui <- fluidPage(
  titlePanel("Tabsets"),
  div(style = "position:absolute;right:1em;", 
    actionButton('load_inputs', 'Load inputs'),
    actionButton('save_inputs', 'Save inputs')
  ),
  tabsetPanel(
    tabPanel("Tab1", h2("Content 1")), 
    tabPanel("Tab2", h2("Content 2")), 
    tabPanel("Tab3", h2("Content 3"))
  )
)

server <- function(input, output, session) {
}
runApp(list(ui = ui, server = server))
Run Code Online (Sandbox Code Playgroud)