Utilisation

Offer actions for an item

Ce type est utilisé par actionSheet

tsx
import { Pressable, Text, actionSheet } from 'kuito';

export function EpisodeMenu(props: {
  id: string;
  title: string;
  onDelete: (id: string) => Promise<void>;
}) {
  const remove = { text: 'Delete', style: 'destructive' } as const;

  return (
    <Pressable
      onPress={async (event) => {
        const picked = await actionSheet({
          buttons: [
            { text: 'Share' },
            { text: 'Add to list' },
            remove,
            { text: 'Cancel', style: 'cancel' },
          ],
          title: props.title,
          anchor: { x: event.pageX ?? 0, y: event.pageY ?? 0 },
        });

        if (picked === remove) await props.onDelete(props.id);
      }}
    >
      <Text>More</Text>
    </Pressable>
  );
}

Déclaration du type

ts
export type ActionSheetOptions = {
  buttons: readonly ActionSheetButton[];
  title?: string;
  message?: string;
  /** iOS: the buttons' color; a hex color. */
  tintColor?: string;
  /**
   * iPad: where the popover points, in window coordinates, as a press event's
   * `pageX` and `pageY`. The middle of the window without one.
   */
  anchor?: { x: number; y: number };
  /** iOS: light or dark regardless of the app's appearance, as CSS's `color-scheme`. */
  colorScheme?: 'light' | 'dark';
};

Membres 6

NomTypeRequisDescription
buttonsreadonly ActionSheetButton[]Oui—
titlestringNon—
messagestringNon—
tintColorstringNoniOS: the buttons' color; a hex color.
anchor{ x: number; y: number;}NoniPad: where the popover points, in window coordinates, as a press event's pageX and pageY. The middle of the window without one.
colorScheme"light" | "dark"NoniOS: light or dark regardless of the app's appearance, as CSS's color-scheme.
anchor — champs imbriqués

anchor champs

NomTypeRequisDescription
xnumberOui—
ynumberOui—
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.