Description Usage Arguments Details See Also Examples
Insert a UI object into the app.
1 2 3 |
selector |
A string that is accepted by jQuery's selector (i.e. the
string |
multiple |
In case your selector matches more than one element,
|
where |
Where your UI object should go relative to the selector:
Adapted from here. |
ui |
The UI object you want to insert. This can be anything that
you usually put inside your apps's |
immediate |
Whether the UI object should be immediately inserted into
the app when you call |
container |
A function to generate an HTML element to contain the UI object. |
inline |
Use an inline ( |
session |
The shiny session within which to call |
This function allows you to dynamically add an arbitrarily large UI
object into your app, whenever you want, as many times as you want.
Unlike renderUI
, the UI generated with insertUI
is not updatable as a whole: once it's created, it stays there. Each
new call to insertUI
creates more UI objects, in addition to
the ones already there (all independent from one another). To
update a part of the UI (ex: an input object), you must use the
appropriate render
function or a customized reactive
function. To remove any part of your UI, use removeUI
.
Note that whatever UI object you pass through ui
, it is always
wrapped in an extra div
(or if inline = TRUE
, a
span
) before making its way into the DOM. This does not affect
what you mean to do, and it makes it easier to remove the whole UI
object using removeUI
(if you wish to do so, of course).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ## Only run this example in interactive R sessions
if (interactive()) {
# Define UI
ui <- fluidPage(
actionButton("add", "Add UI")
)
# Server logic
server <- function(input, output, session) {
observeEvent(input$add, {
insertUI(
selector = "#add",
where = "afterEnd",
ui = textInput(paste0("txt", input$add),
"Insert some text")
)
})
}
# Complete app with UI and server components
shinyApp(ui, server)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.