我是R和Shiny的新手,因此不了解先进的闪亮和R小部件/编程。
如果点击添加列表按钮,我在Shiny中创建列表。列表标有"列表1","列表2"。它工作正常。
我有多个删除按钮对应每个添加的列表,标签如"删除列表1","删除列表2"等。
如何专门删除列表,例如,当我点击删除列表3时,只需要删除该特定列表3.
我的代码现在删除添加的最新列表,无论点击哪个按钮。我的代码如下:
for(x in 1:length(uiElements)){
uiElements <- deleteElements(x,input,uiElements)
}
deleteElements <- function(x,input,uiElements){
cntr <- GetCounter()
uiLabel <- paste("List",x,sep=" ")
delLabel <- paste("Delete",uiLabel,sep=" ")
if(!is.null(input[[delLabel]]) && input[[delLabel]] > 0 && cntr> 1){
cntr <- cntr - 1
SetCounter(cntr)
uiElements <- uiElements[-which(uiElements==uiLabel)]
}
return (uiElements)
}
我理解为什么最新的一个被删除,它基于我的循环方式。但我不知道如何专门删除点击的那个。可能有一些更好的内置函数可供使用。 任何建议将不胜感激。