mirror of
https://github.com/rstudio/shiny.git
synced 2026-01-13 17:08:05 -05:00
68 lines
2.1 KiB
R
68 lines
2.1 KiB
R
% Generated by roxygen2: do not edit by hand
|
|
% Please edit documentation in R/insert-ui.R
|
|
\name{removeUI}
|
|
\alias{removeUI}
|
|
\title{Remove UI objects}
|
|
\usage{
|
|
removeUI(selector, multiple = FALSE, immediate = FALSE,
|
|
session = getDefaultReactiveDomain())
|
|
}
|
|
\arguments{
|
|
\item{selector}{A string that is accepted by jQuery's selector (i.e. the
|
|
string \code{s} to be placed in a \code{$(s)} jQuery call). This selector
|
|
will determine the element(s) to be removed. If you want to remove a
|
|
Shiny input or output, note that many of these are wrapped in \code{div}s,
|
|
so you may need to use a somewhat complex selector -- see the Examples below.
|
|
(Alternatively, you could also wrap the inputs/outputs that you want to be
|
|
able to remove easily in a \code{div} with an id.)}
|
|
|
|
\item{multiple}{In case your selector matches more than one element,
|
|
\code{multiple} determines whether Shiny should remove all the matched
|
|
elements or just the first matched element (default).}
|
|
|
|
\item{immediate}{Whether the element(s) should be immediately removed from
|
|
the app when you call \code{removeUI}, or whether Shiny should wait until
|
|
all outputs have been updated and all observers have been run (default).}
|
|
|
|
\item{session}{The shiny session within which to call \code{removeUI}.}
|
|
}
|
|
\description{
|
|
Remove a UI object from the app.
|
|
}
|
|
\details{
|
|
This function allows you to remove any part of your UI. Once \code{removeUI}
|
|
is executed on some element, it is gone forever.
|
|
|
|
While it may be a particularly useful pattern to pair this with
|
|
\code{\link{insertUI}} (to remove some UI you had previously inserted),
|
|
there is no restriction on what you can use \code{removeUI} on. Any
|
|
element that can be selected through a jQuery selector can be removed
|
|
through this function.
|
|
}
|
|
\examples{
|
|
## Only run this example in interactive R sessions
|
|
if (interactive()) {
|
|
# Define UI
|
|
ui <- fluidPage(
|
|
actionButton("rmv", "Remove UI"),
|
|
textInput("txt", "This is no longer useful")
|
|
)
|
|
|
|
# Server logic
|
|
server <- function(input, output, session) {
|
|
observeEvent(input$rmv, {
|
|
removeUI(
|
|
selector = "div:has(> #txt)"
|
|
)
|
|
})
|
|
}
|
|
|
|
# Complete app with UI and server components
|
|
shinyApp(ui, server)
|
|
}
|
|
}
|
|
\seealso{
|
|
\code{\link{insertUI}}
|
|
}
|
|
|