【发布时间】:2021-12-03 21:27:24
【问题描述】:
我喜欢成对并排放置一组文件输入。不过,它们是一个在另一个之下。
我曾尝试在 UI 中进行操作:
box(
div(style="display:inline-block", fileInput("file1", "File 1")),
div(style="display:inline-block", fileInput("file2", "File 2"))
)
但失败了。
我还尝试将 fileInput 小部件的宽度更改为更小,但这也不起作用。
我见过其他示例,但使用不同的小部件,解决它的方法是使用 div(style="display:inline-block") 格式。
这就是为什么我要问这个小部件是否可以做我想做的事情。
可重现的例子:
这是一个可重现的例子:
library(shiny)
library(shinydashboard)
## Header
Header = dashboardHeader(title = "Help! :(", titleWidth = 250)
## Sidebar
SideBar = dashboardSidebar(sidebarMenu(menuItem(text = "Help me please",tabName = "Menu", startExpanded = TRUE)))
## Tab & Body
Tab = tabItem(tabName = "Menu",
fluidRow(
box(
title = "Import Data",
solidHeader = TRUE,
collapsible = TRUE,
width = 12,
fileInput(inputId = "file1",
label = "File 1",
multiple = TRUE,
accept = c(".xlsx", ".txt"),
width = '30%'),
fileInput(inputId = "file2",
label = "File 2",
multiple = TRUE,
accept = c(".xlsx", ".txt"),
width = '30%')
)
))
Body = dashboardBody(tabItems(Tab))
## UI
ui = dashboardPage(header = Header,
sidebar = SideBar,
body = Body,
skin = "red")
## Server
server = function(input, output, session){
}
## ShinyApp
shinyApp(ui,server)
【问题讨论】:
-
假设
shinydashboard(请明确表示),当它们自己渲染时,我会并排看到它们。我的猜测是封闭的小部件不够大,或者正在施加一些其他不能容忍并排的约束。我建议您需要为闪亮的 UI 组件提供更多上下文,以便布局可重现。 -
@r2evans,你说得对。我正在使用
shinydashboard。我还添加了一个可重现的示例。事实是,在可重现示例中的文件输入下方还有两个文件输入。所以它们应该在 UI 中的数组 [[file1,file2], [file3,file4]] 中。