useSelectionState
useSelectionState() expone el estado reactivo derivado de la selección del editor actual.
Úsalo cuando necesites renderizar UI basándote en:
- si hay algo seleccionado
- cuántos nodos están seleccionados
- el nodo seleccionado principal
- si la selección actual es una instancia, componente o grupo
Uso
ts
import { useSelectionState } from '@open-pencil/vue'
const selection = useSelectionState()Ejemplo básico
vue
<script setup lang="ts">
import { useSelectionState } from '@open-pencil/vue'
const { hasSelection, selectedCount, isInstance } = useSelectionState()
</script>
<template>
<div class="text-xs text-muted">
<span v-if="!hasSelection">Sin selección</span>
<span v-else>
{{ selectedCount }} seleccionados
<span v-if="isInstance">· instancia</span>
</span>
</div>
</template>Qué devuelve
Los valores más útiles incluyen:
selectedIdshasSelectionselectedNodeselectedCountselectedNodeTypeisInstanceisComponentisGroupcanCreateComponentSet
Ejemplos prácticos
Mostrar acciones solo para instancias
ts
const { isInstance } = useSelectionState()Habilitar la UI de creación de conjuntos de componentes
ts
const { canCreateComponentSet } = useSelectionState()