Dismissible
Listes & défilement
Équivalent natif du Dismissible de Flutter : glisser un item vers un côté pour le retirer. Contrairement à toutes les autres interactions du pipeline, le geste de glissement lui-même ne fait jamais l'aller-retour vers PHP — NativeCanvasView.kt suit le doigt et anime la sous-arborescence en direct (marquée via Canvas::beginDismiss()/endDismiss()), et n'appelle $action qu'une fois le swipe validé au-delà du seuil, au relâchement. PHP ne voit que le résultat ("item 42 retiré"), jamais le geste.
Exemple
<?php
use Engine\Native\Dismissible;
use Engine\Native\Text;
use Engine\Native\Tokens;
$row = new Dismissible(
child: new Text('Facture #42', Tokens::TEXT_BODY, Tokens::ink()->toHex()),
key: 'invoice-42',
action: 'dismiss:invoice-42',
);Une ligne de liste retirable au swipe ; une fois le swipe validé, l'action dismiss:invoice-42 est envoyée à PHP pour que l'écran supprime réellement l'item de la source de données.
Constructeur
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| child | Widget | — | Contenu affiché, dont la taille définit la zone swipeable. |
| key | string | — | Clé stable et unique parmi les dismissibles visibles en même temps ; identifie la sous-arborescence côté client. |
| action | string | — | Action renvoyée à PHP une fois le swipe validé au relâchement. |
À savoir.
keydoit rester stable et unique parmi les dismissibles visibles simultanément — même contrainte que le$tagdeAnimated/Hero— c'est ce queNativeCanvasView.ktutilise pour savoir à quel rectangle swipeable appartient chaque commande.