我来这里是为了解决一个看似简单的问题。我想使用tabsetPanel函数使我的面板反应。但是当我使用它时,在我的页面顶部和我的两个面板的名称之间会创建一个空白区域。
下面是一个可复制的例子:
library(shiny)
library(shinydashboard)
ui <- fluidPage(
tabBox(width = 12,title=htmlOutput('Date_Panel'),
tabsetPanel(id = "AB",
tabPanel(
value = "A",
title = span(icon("lightbulb-o"), HTML(' '), strong("A"), style="color:#FE5815;")
),
tabPanel(
value = "B",
title = span(icon("fire-o"), HTML(' '), strong("B"), style="color:#FE5815;")
)
)
)
)
server <- function(input, output, session) {
output$Date_Panel <- renderText(if(input$AB=='A'){
text='title_A'
}
else{
text='title_B'
}
)
}
shinyApp(ui, server)
当我们删除tabsetPanel函数时,空格不在此处。我想在没有任何奇怪空间的情况下使用此功能。
先谢谢你的帮助。
答案 0 :(得分:1)
要删除空格,您可以从ui代码中删除tabsetPanel:
你的ui代码中的修改将是这样的:
ui <- fluidPage(
tabBox(width = 12,title="Title",
# tabsetPanel(id = "AB",
tabPanel(
value = "A",
title = span(icon("lightbulb-o"), HTML(' '), strong("A"), style="color:#FE5815;")
),
tabPanel(
value = "B",
title = span(icon("fire-o"), HTML(' '), strong("B"), style="color:#FE5815;")
)
# )
)
)
修改强>
您可以根据tabsetPanel
的ID更改标题,而不是tabBox
。看看这段代码:
library(shiny)
library(shinydashboard)
ui <- fluidPage(
tabBox(width = 12,title=htmlOutput('Date_Panel'), id = "AB",
# tabsetPanel(id = "AB",
tabPanel(
value = "A",
title = span(icon("lightbulb-o"), HTML(' '), strong("A"), style="color:#FE5815;")
),
tabPanel(
value = "B",
title = span(icon("fire-o"), HTML(' '), strong("B"), style="color:#FE5815;")
)
# )
)
)
server <- function(input, output, session) {
output$Date_Panel <- renderText(if(input$AB=='A'){
text='title_A'
}
else{
text='title_B'
}
)
}
shinyApp(ui, server)
通过这种方式,您可以获得所需的输出。
希望它有所帮助!