Utilização

Offer actions for an item

Este tipo é usado por 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>
  );
}

Declaração do tipo

ts
export type ActionSheetButton = {
  text: string;
  /**
   * `cancel` is shown apart, at the bottom, and is what dismissing the sheet
   * picks; at most one button is `cancel`. `destructive` is drawn in red.
   */
  style?: AlertButtonStyle;
  /** Shown dimmed; it can't be picked. */
  disabled?: boolean;
};

Membros 3

NomeTipoObrigatórioDescrição
textstringSim—
styleAlertButtonStyleNãocancel is shown apart, at the bottom, and is what dismissing the sheet picks; at most one button is cancel. destructive is drawn in red.
disabledbooleanNãoShown dimmed; it can't be picked.
Gerado a partir das declarações TypeScript públicas: assinaturas, props e predefinições vêm da fonte verificada, as descrições da sua JSDoc. Nenhuma predefinição é inventada.