mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-19 22:41:42 +01:00
Co-authored-by: Daniel Roe <daniel@roe.dev> Co-authored-by: Sébastien Chopin <seb@nuxt.com>
50 lines
731 B
Markdown
50 lines
731 B
Markdown
---
|
|
github: true
|
|
---
|
|
|
|
## Usage
|
|
|
|
::component-example
|
|
#default
|
|
:context-menu-example
|
|
#code
|
|
```vue
|
|
<script setup>
|
|
const { x, y } = useMouse()
|
|
|
|
const isOpen = ref(false)
|
|
const virtualElement = ref({ getBoundingClientRect: () => ({}) })
|
|
|
|
function openContextMenu () {
|
|
const top = unref(y)
|
|
const left = unref(x)
|
|
|
|
virtualElement.value.getBoundingClientRect = () => ({
|
|
width: 0,
|
|
height: 0,
|
|
top,
|
|
left
|
|
})
|
|
|
|
isOpen.value = true
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<div @contextmenu.prevent="openContextMenu">
|
|
<UContextMenu v-model="isOpen" :virtual-element="virtualElement" width-class="w-48">
|
|
<!-- Content -->
|
|
</UContextMenu>
|
|
</div>
|
|
</template>
|
|
```
|
|
::
|
|
|
|
## Props
|
|
|
|
:component-props
|
|
|
|
## Preset
|
|
|
|
:component-preset
|