## Create dynamic menu output (server side)

### Description

Create dynamic menu output (server side)

### Usage

renderMenu(expr, env = parent.frame(), quoted = FALSE, outputArgs = list())


### Arguments

 expr An expression that returns a Shiny tag object, HTML(), or a list of such objects. env The parent environment for the reactive expression. By default, this is the calling environment, the same as when defining an ordinary non-reactive expression. If expr is a quosure and quoted is TRUE, then env is ignored. quoted If it is TRUE, then the quote()ed value of expr will be used when expr is evaluated. If expr is a quosure and you would like to use its expression as a value for expr, then you must set quoted to TRUE. outputArgs A list of arguments to be passed through to the implicit call to uiOutput() when renderUI is used in an interactive R Markdown document.

menuOutput for the corresponding client side function and examples.

Other menu outputs: dropdownMenuOutput(), menuItemOutput(), menuOutput(), sidebarMenuOutput()

### Examples

## Only run these examples in interactive R sessions

if (interactive()) {
library(shiny)
library(bs4Dash)
messageData <- data.frame(
from = c("Admininstrator", "New User", "Support"),
message = c(
"How do I register?",
),
stringsAsFactors = FALSE
)

ui <- dashboardPage(
),
dashboardSidebar(),
dashboardBody(
fluidRow(
box(
title = "Controls",
sliderInput("slider", "Number of observations:", 1, 100, 50)
)
)
)
)

server <- function(input, output) {
output$messageMenu <- renderMenu({ # Code to generate each of the messageItems here, in a list. messageData # is a data frame with two columns, 'from' and 'message'. # Also add on slider value to the message content, so that messages update. msgs <- apply(messageData, 1, function(row) { messageItem( from = row[["from"]], message = paste(row[["message"]], input$slider)
)
})

dropdownMenu(type = "messages", .list = msgs)
})
}

shinyApp(ui, server)

ui <- dashboardPage(
dashboardSidebar(
),
dashboardBody()
)

server <- function(input, output) {