所以这是我之前的一个跟进: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值。
答案 0 :(得分:0)
您需要通过其唯一ID访问它们。传递给actionButton的first argument是其ID。这就是你需要用来作为输入的东西。
所以:
LL[[i]] <- list(actionButton("SomeID"))
分配时,然后
input[["SomeID"]]
当你想引用它时。当然,您可以使用变量而不是硬编码字符串作为ID。