如何在Shiny中放置按钮

时间:2016-11-10 22:11:06

标签: r shiny

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

tabsetPanel(

        tabPanel(
           title = "Tab1"
        )

        tabPanel(
           title = "Tab2"
        )

        tabPanel(
           title = "Tab3"
        )
)

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

actionButton('load_inputs', 'Load inputs')
actionButton('save_inputs', 'Save inputs')

如果有一种方法可以在actionButton()函数中指定按钮的显示位置,那就太好了。

1 个答案:

答案 0 :(得分:4)

您可以使用CSS定义任何元素的位置。您可以通过添加属性样式为每个按钮添加样式:div。您还可以使用自定义样式创建.css文件。但是对于这种情况,您可以将样式设置为按钮所在的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)) 右上角添加两个按钮的基本示例。

 
@media screen and (max-device-width: 900px){
  .none {
    display: none !important;
    visibility: hidden !important;
}
}

@media screen and (max-device-width: 900px){
  .none {
    background-image: none !important;
}
}