2017-08-11 156 views
1

我为textInput调用了闪亮的removeUi(),但是只有输入部分被删除而不是标签。请参见下面的代码和图像:R闪亮删除UI保留标签

clearElements <- function (dat) { 
    observe({ 
     for (el in dat) { 

     id <- strsplit(el,substring(el, nchar(el)-8, nchar(el)))[[1]] 
     print(id) 
     removeElement(id) 
     } 
    }) 
    } 

    removeElement <- function (el_id) { 
     removeUI(
     selector = paste0("#", el_id), 
     multiple = TRUE, 
     immediate = TRUE, 
     session 
    ) 
    } 

这里是视觉效果: enter image description here

回答

-1

几个元件被包裹在div秒。试试这个:

removeElement <- function (el_id) { 
    removeUI(
     selector = paste0("div:has(> #", el_id, ")") 
    ) 
    } 
+0

这并不实际工作.. – snowgage

1

接受的答案不起作用。

您需要删除整个.shiny输入容器像下面

removeUI(
    selector = sprintf('.shiny-input-container:has(#%s)',el_id) 
)