Utilisation

Handle event propagation and cancellation.

tsx
// Handle event propagation and cancellation.
import { Box, Button, onMount, ref, signal, type KuitoNativeEvent } from 'kuito';

const saving = signal(false);

function Form(props: { onSave: () => void }) {
  const form = ref();

  // In the capture phase the form sees a press before the button inside it does,
  // and stops it while a save is running.
  const guard = (event: KuitoNativeEvent) => {
    if (saving.value) event.stopPropagation();
  };

  onMount(() => form.current?.addEventListener('press', guard, { capture: true }));

  return (
    <Box ref={form}>
      <Button onPress={props.onSave}>Save</Button>
    </Box>
  );
}

Déclaration du type

ts
export interface KuitoNativeEvent {
  type: string;
  bubbles: boolean;
  cancelable: boolean;
  readonly isTrusted?: boolean;
  target?: ElementHandle;
  currentTarget?: ElementHandle | null;
  defaultPrevented?: boolean;
  eventPhase?: number;
  stopPropagation(): void;
  stopImmediatePropagation(): void;
  preventDefault(): void;
  composedPath(): ElementHandle[];
}

Membres 12

NomTypeRequisDescription
typestringOui—
bubblesbooleanOui—
cancelablebooleanOui—
isTrustedlecture seulebooleanNon—
targetElementHandleNon—
currentTargetElementHandleNon—
defaultPreventedbooleanNon—
eventPhasenumberNon—
stopPropagation() => voidOui—
stopImmediatePropagation() => voidOui—
preventDefault() => voidOui—
composedPath() => ElementHandle[]Oui—
stopPropagation — signatures de méthode

Signatures

ts
(): void

Paramètres

Aucun paramètre.

Retourne

void

stopImmediatePropagation — signatures de méthode

Signatures

ts
(): void

Paramètres

Aucun paramètre.

Retourne

void

preventDefault — signatures de méthode

Signatures

ts
(): void

Paramètres

Aucun paramètre.

Retourne

void

composedPath — signatures de méthode

Signatures

ts
(): ElementHandle[]

Paramètres

Aucun paramètre.

Retourne

ElementHandle[]

Généré depuis les déclarations TypeScript publiques : signatures, props et valeurs par défaut viennent de la source vérifiée, les descriptions de sa JSDoc. Aucune valeur par défaut n'est inventée.