openpencil/packages/docs/ru/programmable/sdk/api/composables/use-selection-state.md
Danila Poyarkov 14325280d9 docs(i18n): translate all missing pages to 6 languages
- 78 SDK pages per language (components, composables, advanced API,
  guides, architecture, getting-started)
- vector-edit.md user guide page (5 languages)
- Update stale ru/programmable/cli/inspecting.md
- Fix YAML frontmatter quoting for colons in descriptions

474 files, 0 missing pages across de/es/fr/it/pl/ru.
VitePress build verified — all 546 SDK pages render.
2026-04-22 18:35:22 +03:00

2.1 KiB
Raw Permalink Blame History

title description
useSelectionState Реактивное состояние редактора, производное от выделения: текущий узел, количество и тип выделения.

useSelectionState

useSelectionState() предоставляет реактивное состояние, производное от выделения в текущем редакторе.

Используйте его, когда нужно рендерить UI на основе:

  • наличия выделения
  • количества выделенных узлов
  • основного выделенного узла
  • является ли текущее выделение экземпляром, компонентом или группой

Использование

import { useSelectionState } from '@open-pencil/vue'

const selection = useSelectionState()

Базовый пример

<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">Нет выделения</span>
    <span v-else>
      {{ selectedCount }} выделено
      <span v-if="isInstance">· экземпляр</span>
    </span>
  </div>
</template>

Возвращаемые значения

Полезные значения:

  • selectedIds
  • hasSelection
  • selectedNode
  • selectedCount
  • selectedNodeType
  • isInstance
  • isComponent
  • isGroup
  • canCreateComponentSet

Практические примеры

Показывать действия только для экземпляров

const { isInstance } = useSelectionState()

Активировать UI создания набора компонентов

const { canCreateComponentSet } = useSelectionState()

Связанные API