Skip to content

Context Menu

Menu de contexto exibido ao clicar com o botão direito sobre um elemento.

Uso

vue
<script setup lang="ts">
import { ContextMenu } from '@halfbyte/maka'

const itens = [
  { value: 'copiar', label: 'Copiar' },
  { value: 'colar', label: 'Colar' },
  { value: 'excluir', label: 'Excluir' },
]

function onSelect(value: string) {
  console.log(value)
}
</script>

<template>
  <ContextMenu :items="itens" @select="onSelect">
    <div style="padding: 32px; border: 1px dashed; border-radius: 8px">
      Clique com o botão direito aqui
    </div>
  </ContextMenu>
</template>

Com grupos

vue
<ContextMenu :groups="grupos" @select="onSelect">
  <div>Área de contexto</div>
</ContextMenu>

Props

PropTipoDescrição
itemsMenuItem[]Lista plana de itens (exclusivo com groups)
groupsMenuGroup[]Grupos de itens (exclusivo com items)
CampoTipoDescrição
valuestringIdentificador único do item
labelstringTexto exibido
disabledbooleanDesabilita o item (opcional)
CampoTipoDescrição
labelstringRótulo do grupo (opcional)
itemsMenuItem[]Lista de itens pertencentes ao grupo

Slots

SlotDescrição
defaultElemento que define a área de contexto
icon-{value}Ícone personalizado para um item
contentConteúdo totalmente customizado do menu

Events

EventoPayloadDescrição
selectstringEmitido ao clicar em um item