Documention
Slots

Slots

Since version v3.0, Umo Editor provides slot functionality, allowing users to customize more features through slots.

Toolbar Slots

Use slots to insert custom content after specific menus in the toolbar.

<template>
  <umo-editor v-bind="options">
    <!-- "Home" menu slot -->
    <template #toolbar_base="props">
      <span>toolbar_base slot: {{ props }}</span>
    </template>
    <!-- "Insert" menu slot -->
    <template #toolbar_insert="props">
      <span>toolbar_insert slot: {{ props }}</span>
    </template>
    <!-- "Table" menu slot -->
    <template #toolbar_table="props">
      <span>toolbar_table slot: {{ props }}</span>
    </template>
    <!-- "Tools" menu slot -->
    <template #toolbar_tools="props">
      <span>toolbar_tools slot: {{ props }}</span>
    </template>
    <!-- "Page" menu slot -->
    <template #toolbar_page="props">
      <span>toolbar_page slot: {{ props }}</span>
    </template>
    <!-- "Export" menu slot -->
    <template #toolbar_export="props">
      <span>toolbar_export slot: {{ props }}</span>
    </template>
  </umo-editor>
</template>
 
<script setup>
  import { ref } from 'vue'
  import { UmoEditor } from '@umoteam/editor';
 
  const options = ref({
    // Configuration options
    // ...
  });
</script>

Named Slots

  • toolbar_base: Insert custom content after the “Start” menu in the toolbar.
  • toolbar_insert: Insert custom content after the “Insert” menu in the toolbar.
  • toolbar_table: Insert custom content after the “Table” menu in the toolbar.
  • toolbar_tools: Insert custom content after the “Tools” menu in the toolbar.
  • toolbar_page: Insert custom content after the “Page” menu in the toolbar.
  • toolbar_export: Insert custom content after the “Export” menu in the toolbar.

Slot Arguments

  • toolbar-mode: String The current toolbar type selected by the user, possible values are: ribbon, classic.

Bubble Menu Slot

Via the slot, custom content can be inserted after the bubble menu, currently only supporting the addition of custom content to text nodes.

<template>
  <umo-editor v-bind="options">
    <template #bubble_menu>
      <span>slot</span>
    </template>
  </umo-editor>
</template>
 
<script setup>
  import { ref } from 'vue'
  import { UmoEditor } from '@umoteam/editor';
 
  const options = ref({
    // Configuration options
    // ...
  });
</script>

Header and Footer Slots New in v4.1.0

Customize header and footer content through slots.

<template>
  <umo-editor v-bind="options">
    <!-- "Header" slot -->
    <template #page_header="props">
      <span>page_header slot: {{ props }}</span>
    </template>
    <!-- "Footer" slot -->
    <template #page_footer="props">
      <span>page_footer slot: {{ props }}</span>
    </template>
  </umo-editor>
</template>
 
<script setup>
  import { ref } from 'vue'
  import { UmoEditor } from '@umoteam/editor';
 
  const options = ref({
    // Configuration options
    // ...
  });
</script>

Named Slots

  • page_header: Header slot, customize the header content through this slot.
  • page_footer: Footer slot, customize the footer content through this slot.

Slot Arguments

  • page-number: Number The current page number.
  • total-pages: Number The total number of pages in the document.