在Shiny中,我们分别有downloadButton()
和fileInput()
按钮用于下载和上传数据。
然而,downloadButton()
有 download 图标,但是fileInput()
没有附加图标。
在我的Shiny应用程序中,我有两个按钮。但是,由于其中一个附加了图标,因此在我的应用程序中会出现某种视觉上的不一致。
因此,我要么想要从downloadButton()
删除此类图标,要么添加一些带有fileInput()
的上传按钮,以保持一致性。
然而,似乎没有任何直接的方法来执行其中任何一个。
如果有任何方法可以在这里建议:
从downloadButton()
删除图标或附加一些上传
fileInput()
非常感谢任何指针。
谢谢,
答案 0 :(得分:4)
要向fileInput()添加图标,请向buttonLabel添加一个列表。 e.g。
shinyApp(
fluidPage(
fileInput("myFileInput",label="Test",buttonLabel=list(icon("folder"),"TestyMcTestFace"))
),
function(input, output, session){
}
)
答案 1 :(得分:2)
如果查看downloadButton
的源代码,您会看到更改/删除按钮非常简单
downloadButton
## function (outputId, label = "Download", class = NULL, ...)
## {
## aTag <- tags$a(id = outputId, class = paste("btn btn-default shiny-download-link",
## class), href = "", target = "_blank", download = NA,
## icon("download"), label, ...)
## }
## <environment: namespace:shiny>
您只需将icon("download")
替换为NULL
即可。这是一个完整的例子
myDownloadButton <- function(outputId, label = "Download"){
tags$a(id = outputId, class = "btn btn-default shiny-download-link", href = "",
target = "_blank", download = NA, NULL, label)
}
shinyApp(
fluidPage(myDownloadButton("download")),
function(input, output, session){
output$download = downloadHandler(
"file.rds", function(file){ saveRDS(mtcars, file) }
)
}
)