我对Shiny R很新,所以我不知道我错过了一些明显的东西。
我在侧面板中创建了一个带有操作按钮的UI。单击按钮时,用户选择一个文件夹,该文件夹的内容将作为新项目显示在按钮下方的文本中。
但是,当文本出现时,第一个按钮下方的按钮会向下移动。因此,根据用户输入,当出现新项目时,一切都会移动。
我认为这看起来不太好,有没有办法让物品(动作按钮)保持在原位,即使出现新项目?例如,将物品固定在一个地方,这样就有足够的空间让新物品出现。
这是我创建布局的代码。
ui <- fluidPage(
titlePanel(h2("title")),
sidebarLayout(
sidebarPanel(
shinyDirButton("myFolder", "Click to select folder with input files" ,
title = "Select the input folder",
buttonType = "default", class = NULL),
h4("Content of input folder"),
verbatimTextOutput("table1", placeholder = T),
br(),
shinyFilesButton("newFile", "Click to select file" ,
title = "Select file",
buttonType = "default", class = NULL, multiple = F),
textOutput("filepathShow")
)
)
)
server <- function(input,output,session){
observe({
shinyDirChoose(input, "myFolder", roots = c(home = '~'), session = session)
myInputDir2 <- parseDirPath(c(home = '~'), input$myFolder)
listText <- list.files(myInputDir2, full.names = F)
mylist <- data.frame(listText)
output$table1 <- renderText(paste(mylist[,1], collapse = ", "))
shinyFileChoose(input, "newFile", roots = c(home = '~'), session = session)
myFile <- parseFilePaths(c(home = '~'), input$newFile)
myfilepath <- myFile$datapath
output$filepathShow <- renderText(as.character(myfilepath))
})
}
答案 0 :(得分:1)
我认为这解决了你的问题,把文字放在一个带溢出的div中:auto并设置你想要的高度
h4("Content of input folder"),
HTML("<div style ='overflow:auto; height: 180px;'>"),
verbatimTextOutput("table1", placeholder = T),
HTML("</div>"),