FLEXR仪表板中的下载按钮宽度
我在更改我的DownloadButton宽度时遇到了问题,因为他与actionButton(具有宽度参数)不同 有什么简单的解决办法吗? 这是我的代码(只是一个简单的下载按钮):FLEXR仪表板中的下载按钮宽度,r,shiny,flexdashboard,R,Shiny,Flexdashboard,我在更改我的DownloadButton宽度时遇到了问题,因为他与actionButton(具有宽度参数)不同 有什么简单的解决办法吗? 这是我的代码(只是一个简单的下载按钮): Normalidade ======================================================================= 输入{.sidebar} ---------------------------------------------------------------
Normalidade
=======================================================================
输入{.sidebar}
-----------------------------------------------------------------------
```{r}
标签$hr()
下载按钮(“下载正常”,label=“下载seu测试”,class=“butt1”)
下载处理器(
filename=“Resultados_Normal.csv”,
内容=函数(文件){
write.csv(数据、文件)
}
)
标签$hr()
标签$br()
动作按钮(“AjudAnnormal”,label=“Ajuda”,图标(“问题圈”),
宽度=“100%”,
onclick=“window.open('http://google.com“,”空白“))
```
实际上,在玩过这个之后,我建议将uiOutput
与renderUI
一起使用
如果不使用uiOutput
,downloadButton
函数将被忽略(仅计算downloaddhandler
),这就是为什么没有设置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)
}
)
```
在这种情况下,应用程序尝试读取与Rmd
相同文件夹中名为styles.css
的文件
在同一文件夹中创建css文件并添加规则:
#downBtn {
width: 100%;
}
现在,您可以从下载按钮中删除style=“width:100%”“
,仍然可以获得全宽按钮
输出:
您可以使用style
参数应用自定义css,例如:downloadButton(“id”,“Label”,style=“width:300px;”)不起作用,什么也没有发生。还有其他想法吗?label参数也是一样,不管我在其中输入了哪个名称,按钮总是为用户显示“下载”。也许是因为我用的是flexdashboard?你是对的,flexdashboard确实不起作用。尝试添加以下css规则:.shiny下载链接{width:100%;}
。如果需要添加CSS的信息:我是新手,所以不要生气哈哈哈。但是我不知道该如何使用这个规则,比如:flexdashboard::flex_dashboard:css:style.shinny-download-link{width:100%;}新事物没有问题:)我写了一个答案,测试一下,如果需要帮助,请告诉我。成功了!你是我的天使,哈哈哈。我也知道如何添加类,因为我会有大量的下载按钮,为每个人添加ID样式会很无聊。真的很有帮助!这是我使用runtime:shinny_prerendered
---
title: "Full width downloadButton"
output:
flexdashboard::flex_dashboard:
css: styles.css
runtime: shiny
---
#downBtn {
width: 100%;
}