Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.0.6

selectable_draggable_listbox

Listenfeld mit Mehrfachauswahl, Drag & Drop zwischen Listen und integriertem Umordnen.

AndroidiOSmacOSWindowsLinux
30-Tage-Downloads
19
Likes
26
Pub-Punkte
150

Paket installieren

flutter pub add selectable_draggable_listbox

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein Flutter-Paket, das eine Liste mit integrierter Unterstützung für Mehrfachauswahl, Drag-and-Drop-Umordnung innerhalb einer Liste und Drag-and-Drop zwischen mehreren Listen bietet. Es verbessert die Benutzerinteraktion durch intuitive Datenmanipulation über Gesten. Ideal für Anwendungen, die dynamische Listenverwaltung erfordern, wie Aufgabenorganisatoren, Playlistenbauer oder Konfigurationspanele. Das Paket ist plattformübergreifend und unterstützt Android, iOS, macOS, Windows und Linux.

Anwendungsfälle

  • Aufgabenpriorisierung
  • Wiedergabelistenverwaltung
  • Konfigurationspanel-Sortierung
  • Datenreorganisation in Formularen
  • Mehrfachliste-Elementübertragung

Hauptmerkmale

  • Mehrfachauswahlunterstützung
  • Umsortieren per Drag-and-Drop in der Liste
  • Drag-and-Drop zwischen Listen
  • Eingebaute Auswahlzustandsverwaltung
  • Reaktive Gestenverarbeitung

Geeignet für

  • Entwickler, die interaktive Listenoberflächen erstellen
  • Apps, die eine flexible Datenumordnung benötigen
  • Benutzer, die Drag-and-Drop-Arbeitsabläufe bevorzugen
  • Plattformübergreifende Listenverwaltungswerkzeuge
  • UI-intensive Produktivitätsanwendungen

Hinweise

  • Erfordert sorgfältige Behandlung der Auswahlzustände
  • Für komplexe Layouts kann eine benutzerdefinierte Gestaltung erforderlich sein
  • Leistungsbeeinträchtigung bei sehr großen Listen
  • Beschränkt auf listengestützte Datenstrukturen
  • Abhängig von der korrekten Widget-Baumstruktur für Drag-Ziele

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Pub License: MIT

selectable_draggable_listbox

Listbox with multiselect, drag & drop between lists, and reorder built in.

Features

  • Bind your data to a listview of custom widget
    • Simple text item widget -or-
    • Templated list item widget for more cusomizability
  • Multi-select items
    • Shift-click to select items in sequence
    • Ctrl/Cmd-click to select individual items
    • Single-select only option available
  • Reorderable
    • Click & drag the "three lines" icon to reorder item
  • Drag & Drop
    • Drag items from/to different lists
    • Each list may independently be a draggable, drop target, or both

Feature Demo

Getting started

  1. Add the latest version of this package:
  • Run flutter pub add selectable_draggable_listbox -or-
  • Edit pubspec.yaml and then run flutter pub get:
dependencies:
  selectable_draggable_listbox: ^latest_version
  1. Import the package
import 'package:selectable_draggable_listbox/selectable_draggable_listbox.dart';

Usage

// Create your list and transform it to track selected items (list can be complex objects instead):
final myList = ['Apples','Cheese','Bread','Milk'].forListbox().toList();

// Create the listbox widget
return Listbox(
  items: myList,
  itemTemplate: (context, eventManager, index, item, onSelect) {
    // Define the template used for each listitem
    return SimpleListboxItem(
      key: Key('$index'), // Key is required for reordering
      item: item,
      label: item.data,
      eventManager: eventManager,
      onSelect: onSelect,
    );
  },
  onSelect: (itemsSelected) {
    // React to items selected
    // Note: (value of isSelected is not set automatically by Listbox,
    //  due to not knowing how your state is handled)
    setState(() {
      for (var item in myList) {
        item.isSelected = itemsSelected.contains(item);
      }
    });
  },
  onReorder: (oldIndex, newIndex) {
    // React to item reordered
    setState(() {
      // Note: this is an extension provided by the package
      myList.move(oldIndex, newIndex);
    });
  },
);

Advanced Usage

For more info on additional features like Drag & Drop and Customizable Templates, see examples and API:

Support

You can support me by buying me a coffee Buy me a coffee

And also don't forget to star this package on GitHub

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.