Generate a <template> tag for Vue/Element UI slot usage
Examples
# Basic usage with text
template("Hello World")
#> <template >Hello World</template>
# With slot name
template("Custom content", slot = "header")
#> <template slot="header">Custom content</template>
# With HTML tag content
template(shiny::tags$a(href = "https://posit.co", "Posit"), slot = "footer")
#> <template slot="footer"><a href="https://posit.co">Posit</a></template>
# Combine multiple tags
template(
shiny::tags$span("A"),
shiny::tags$span("B"),
slot = "extra"
)
#> <template slot="extra"><span>A</span><span>B</span></template>
# Custom dateCell slot with check mark (Unicode)
template(
shiny::tags$p(
`:class` = "data.isSelected ? 'is-selected' : ''",
"{{ data.day.split('-').slice(1).join('-') }}",
shiny::tags$span("\u2714\ufe0f", `v-if` = "data.isSelected")
),
slot = "dateCell",
scope = "{date, data}"
)
#> <template slot="dateCell" slot-scope="{date, data}"><p :class="data.isSelected ? 'is-selected' : ''">
#> {{ data.day.split('-').slice(1).join('-') }}
#> <span v-if="data.isSelected">✔️</span>
#> </p></template>