微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 R Shiny 中,使用 textOutput 动态填充下载按钮的标签

如何解决在 R Shiny 中,使用 textOutput 动态填充下载按钮的标签

在 R Shiny 中,我尝试使用反应式渲染文本和文本输出动态设置下载按钮的标签。 它按预期工作,但标签始终显示在新行中,因此该按钮在常规按钮旁边看起来很古怪 as shown here

后端逻辑是-

在 server.R 中,输入字段的值用于生成条件标签

output$mycustomlabel  <- renderText({ if(input$inputtype=="One") return("Download label 1") else return("Download label 2")})

然后在 UI.R 中,该标签用作

downloadButton("download.button.test",textoutput("mycustomlabel"))

有人可以指导为什么它在新行上显示文本,以及如何将其保持在同一行上?

解决方法

如果您想更改按钮标签,您可能需要使用 javascript 对其进行更新。

一种更简单的方法是使用两个不同的按钮并使用条件面板来显示其中一个按钮:

ui <- fluidPage(
  radioButtons('inputtype','Set label',c('One','Two')),conditionalPanel(
    'input.inputtype == "One"',downloadButton('btn1','Download label 1')
  ),conditionalPanel(
    'input.inputtype == "Two"',downloadButton('btn2','Download label 2')
  )
)

请注意,使用这种方法,您需要在服务器功能中使用两个观察者。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。