eval 解析带连字符的字符串返回错误对象 'top:' 未找到

eval parse string with hyphen returning error object 'top:' not found

似乎这里提出的许多类似问题都没有被接受的答案,而且我还没有找到适合我的答案。

我正在创建一个具有下载按钮的闪亮应用程序。在一个页面上,下载按钮需要向下移动到所有绘图下方的页面。

这对我有用,但是是硬编码的:

output$saveGraphRob <- renderUI({
  downloadButton("saveGraphRob1","Download", style = "margin-top:3500px")
})

我想要做的是允许将样式放置在所有图表下,无论有多少图表。所以如果我的 plot_count() 是 6,而不是 3500px,它应该是 plot_count()*350.

尝试这样做会返回错误:未找到对象 'top:'

output$saveGraphRob <- renderUI({
  downloadButton("saveGraphRob1","Download", style = eval(parse(text=(paste0("margin-top:",plot_count()*350))))))
})

它试图将 margin-top 中的连字符评估为减号,但我不确定解决方法是什么。

也开放给其他解决方案来更改我的下载按钮的位置。

style=参数只是一个字符串。你不应该在那里使用 eval(parse()) (或者几乎所有的 R 代码)。只需使用 style=paste0("margin-top:", plot_count()*350, "px")