我在更改DownloadButton宽度时遇到问题,因为他与actionButton(具有width参数)不同。
有什么简单的想法可以解决吗? 这是我的代码(只需一个简单的下载按钮):
Normalidade
=======================================================================
Inputs {.sidebar}
-----------------------------------------------------------------------
<h5>
```{r}
tags$hr()
downloadButton("downloadNormal",label = "Download seu teste", class = "butt1")
downloadHandler(
filename = "Resultados_Normal.csv",
content = function(file) {
write.csv(data, file)
}
)
tags$hr()
tags$br()
actionButton("AjudaNormal", label = " Ajuda", icon("question-circle"),
width = "100%",
onclick="window.open('http://google.com', '_blank')")
```
</h5>
答案 0 :(得分:1)
实际上,在玩过此游戏后,我建议将uiOutput
与renderUI
一起使用。
如果不使用uiOutput
,则downloadButton
函数将被忽略(仅对downloadHandler
进行求值),这就是未设置width
参数的原因,而且您也无法修改按钮的标签。
使用uiOutput
可以解决所有问题。
---
title: "Full width downloadButton"
output:
flexdashboard::flex_dashboard:
css: styles.css
runtime: shiny
---
```{r setup, include=FALSE}
library(flexdashboard)
```
Inputs {.sidebar}
-----------------------------------------------------------------------
```{r}
# Create placeholder for the downloadButton
uiOutput("downloadUI")
```
```{r}
# Create the actual downloadButton
output$downloadUI <- renderUI( {
downloadButton("downBtn", "Download Iris data", style = "width:100%;")
})
# Add download handling
output$downBtn <- downloadHandler(
filename = function() {
"iris.csv"
},
content = function(file) {
write.csv(iris, file, row.names = FALSE)
}
)
```
我使用{strong> inlineCSS 和width
参数设置了style
,但是如果您有多个CSS规则,则可以(并且应该)使用外部样式表。>
通过在YAML标头中添加css: path/filename.css
,可以在Flexdashboard中使用外部CSS文件。
---
title: "Full width downloadButton"
output:
flexdashboard::flex_dashboard:
css: styles.css
runtime: shiny
---
在这种情况下,应用程序尝试读取与styles.css
相同的文件夹中名为Rmd
的文件。
在同一文件夹中创建css文件并添加规则:
#downBtn {
width: 100%;
}
您现在可以从style = "width:100%;"
移除downloadButton
并仍然获得全角按钮。