R有光泽:颜色文件输入按钮和进度条

kol*_*nel 5 css r shiny

有没有办法fileInput在R闪亮的颜色按钮?它看起来像github 上这个页面上显示的那样可能.但是我找不到要完成的代码.

这是我想要修改的简单应用程序,使按钮和进度条显示为红色.

ui.R:

library(shiny)

shinyUI(fluidPage(
  titlePanel("Test"),
  fileInput("Test","")
))
Run Code Online (Sandbox Code Playgroud)

server.R

library(shiny)

shinyServer(
  function(input, output) {
  }
)
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议.

zer*_*323 5

您可以使用标准的Bootstrap类来设置操作按钮的样式:

library(shiny)

shinyApp(
    ui=shinyUI(bootstrapPage(
        actionButton("infoButton", "Info", class="btn-info"),
        actionButton("warningButton", "Warning", class="btn-warning"),
        actionButton("successButton", "Success", class="btn-success"),
        actionButton("dangerButton", "Danger", class="btn-danger"),
        actionButton("defaultButton", "Default", class="btn-default"),
        actionButton("primaryButton", "Primary", class="btn-primary")
    )),
    server=shinyServer(function(input, output, session){
    })
)
Run Code Online (Sandbox Code Playgroud)

关于文件输入据我所知,如果不直接使用CSS是不可能的.您链接的页面是一个打开的拉取请求,它看起来不会很快合并.

这个答案提供了一个很好的描述如何使用bootstrap创建花哨的上传按钮.它也应该在Shiny中工作得很好.


Ale*_*nez 5

CSS 可以在闪亮中使用来自定义您的 fileInput 小部件!使用以下代码将其着色为红色。

注意 - 您用来查看应用程序的任何浏览器都应该具有开发人员工具,可让您检查元素并查看应用于任何元素的样式。您必须右键单击相关元素并选择检查!

library(shiny)

ui <- fluidPage(
  fileInput(inputId = "Test",label = ""),
  tags$style("
             .btn-file {  
             background-color:red; 
             border-color: red; 
             }

             .progress-bar {
             background-color: red;
             }

             ")
  )

server <- function(input, output) {

}

shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)