Subsequent row is open after Slidable row is dismissed.

Aperta
#472 3 commenti 4 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
30/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
dart, flutter
Ambito
mobile

Direzione di ricerca

The payload names the Slidable, SlidableController, ActionPane and DismissiblePane widgets, but no source files. Start by running the linked reproduction project (github.com/adammal/slidable_dismiss_problem) and confirming that the next row opens only when a shared controller is passed. Done means a dismissed row leaves the remaining rows closed with the controller set, plus a regression test.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Hello and thank you for the great library.

I've stumbled upon an issue in flutter_slidable: ^3.1.0 when dismissing a row and I've created a minimal project to reproduce it in-case it's helpful.
https://github.com/adammal/slidable_dismiss_problem

https://github.com/letsar/flutter_slidable/assets/6067137/ae867063-9004-4d1e-8572-1d48742aa899

Action

The user slides to dismiss a row in a series of Slidable rows.

Expected Behaviour

The row is dismissed and all remaining rows remain closed.

Actual Behaviour

The row is dismissed but the subsequent row is opened and remains open after the dismissal is complete.

Notes

I've also discovered that this is only an issue when a SlidableController is assigned to the Slideable's by the user.
If I remove the controller from the Slidable it works as expected.

Code in question
Slidable(
  key: UniqueKey(),
  controller: _slidableController,
  endActionPane: ActionPane(
    motion: const ScrollMotion(),
    dismissible: DismissiblePane(
      onDismissed: () => widget.onDelete(widget.value),
    ),
    children: [
      SlidableAction(
        onPressed: (context) => widget.onDelete(widget.value),
        label: 'Delete',
      )
    ],
  ),
  child: Container(
    constraints: const BoxConstraints(
      minHeight: 50,
      minWidth: double.infinity
    ),
    color: Colors.blue,
    child: Center(child: Text(widget.value.toString())),
  ),
),

Am I doing something wrong in the way i've implemented this?

Any help would be greatly appreciated.

Lingua principale
Dart
Stelle
2.9k
Fork
646
Merge medio
5m
PR unite (30g)
9

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di letsar/flutter_slidable

Tutte le issue di letsar/flutter_slidable

Issue simili

Altre issue su Dart

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.