接收来自Shiny R中各种操作按钮的输入

时间:2014-04-30 21:28:10

标签: r user-interface shiny shiny-server

所以这是我之前的一个跟进:Automatic GUI Generating in R Shiny我发布了如何迭代生成元素的解决方案。

现在我无法接收/检查已按下哪个动作按钮并在按下时执行某些操作。

通常,有一个函数可以生成按钮并将其发送到ui.R:

output$generateImages <- renderUI({
  (...)
  i <-1
  for(dir in folders){
    (...)
    txt<-paste0("rep",i)
    pp<-pathNameToImage
    LL[[i]] <- list(actionButton(txt,icon=imageOutput(pp,width="100px",height="100px"),label=dir))
    i<-i+1
  }
return(LL)          
  }

在ui.R我有:

uiOutput('generateImages')

它通过将它们累积到名为&#34; LL&#34;的列表中来显示按钮。

我曾尝试寻找教程和示例,但无法找到如何处理图像,以及如何以后接收来自未创建的按钮的输入&#34;手动&#34;,但是迭代地。 / p>

如何在&#34;观察&#34;中访问这些按钮。这样我可以执行一个动作?我尝试过输入$ generateImages,输入$ LL和其他几个,但是所有这些都有NULL值。

1 个答案:

答案 0 :(得分:0)

您需要通过其唯一ID访问它们。传递给actionButton的first argument是其ID。这就是你需要用来作为输入的东西。

所以:

LL[[i]] <- list(actionButton("SomeID"))
分配时

,然后

input[["SomeID"]]

当你想引用它时。当然,您可以使用变量而不是硬编码字符串作为ID。