Element UI Button with Vue Instance
Usage
el_button(
id = NULL,
label = "Button",
type = "default",
size = NULL,
disabled = FALSE,
icon = NULL,
session = getDefaultReactiveDomain()
)Arguments
- id
Button ID (auto-generated if NULL)
- label
Button text
- type
Button type (primary, success, warning, danger, info, text)
- size
Button size (medium, small, mini)
- disabled
Whether button is disabled
- icon
Icon tag (e.g. el_icon("search"), shiny::icon("star"), fontawesome::fa_icon("github"))
- session
Shiny session for module support
Examples
# Basic usage
el_button("btn_primary", "Primary", type = "primary")
#> <div id="btn_primary_container">
#> <el-button :type="type" :disabled="disabled" @click="handleClick">{{label}}</el-button>
#> </div>
#> <div class="vue html-widget html-fill-item" id="btn_primary" style="width:960px;height:500px;"></div>
#> <script type="application/json" data-for="btn_primary">{"x":{"el":"#btn_primary_container","data":{"label":"Primary","type":"primary","size":null,"disabled":false,"count":0},"methods":{"handleClick":"function() {\n if (!this.disabled) {\n this.count++;\n Shiny.setInputValue('btn_primary', this.count);\n }\n}"}},"evals":["methods.handleClick"],"jsHooks":[]}</script>
# Shiny app example
if (interactive()) {
library(shiny)
library(shiny.element)
ui <- el_page(
el_button("btn_primary", "Primary", type = "primary"),
verbatimTextOutput("btn_primary_count")
)
server <- function(input, output, session) {
output$btn_primary_count <- renderPrint(input$btn_primary)
}
shinyApp(ui, server)
}