Files
stack/v1/packages/mosaic/framework/skills/vueuse-functions/references/useActiveElement.md
T

1.3 KiB

category
category
Elements

useActiveElement

Reactive document.activeElement

Usage

<script setup lang="ts">
import { useActiveElement } from '@vueuse/core';
import { watch } from 'vue';

const activeElement = useActiveElement();

watch(activeElement, (el) => {
  console.log('focus changed to', el);
});
</script>

Component Usage

<template>
  <UseActiveElement v-slot="{ element }">
    Active element is {{ element?.dataset.id }}
  </UseActiveElement>
</template>

Type Declarations

export interface UseActiveElementOptions
  extends ConfigurableWindow, ConfigurableDocumentOrShadowRoot {
  /**
   * Search active element deeply inside shadow dom
   *
   * @default true
   */
  deep?: boolean;
  /**
   * Track active element when it's removed from the DOM
   * Using a MutationObserver under the hood
   * @default false
   */
  triggerOnRemoval?: boolean;
}
/**
 * Reactive `document.activeElement`
 *
 * @see https://vueuse.org/useActiveElement
 * @param options
 *
 * @__NO_SIDE_EFFECTS__
 */
export declare function useActiveElement<T extends HTMLElement>(
  options?: UseActiveElementOptions,
): ShallowRef<T | null | undefined, T | null | undefined>;
export type UseActiveElementReturn = ReturnType<typeof useActiveElement>;