Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.1.0

flutter_conditional_rendering

Ein Flutter-Paket, das die bedingte Darstellung verbessert und if-else- sowie switch-Bedingungen unterstützt.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
9670
Likes
114
Pub-Punkte
160

Paket installieren

flutter pub add flutter_conditional_rendering

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein Flutter-Paket, das die bedingte Darstellung in der Benutzeroberflächentwicklung vereinfacht, indem es die Widget-Funktionen mit if-else- und switch-Anweisungen erweitert. Es ermöglicht Entwicklern, sauberen, besser lesbaren Code zu schreiben, wenn Widgets basierend auf Laufzeitwerten bedingt angezeigt werden sollen. Das Paket lässt sich nahtlos in bestehende Flutter-Projekte integrieren und unterstützt alle wichtigen Plattformen wie Android, iOS, Web, macOS, Windows und Linux. Ideal für dynamische Benutzeroberflächen, die eine logikbasierte Sichtbarkeitssteuerung erfordern.

Anwendungsfälle

  • Dynamische Benutzeroberflächenelemente basierend auf Zustand
  • Bedingte Anzeige von Widgets in Formularen
  • Switchbasierte Layoutänderungen
  • Benutzerrollenbasierte Schnittstellenrenderung
  • Vereinfachte verschachtelte Ternär-Ausdrücke
  • Reaktionsfähiges Design mit plattformspezifischer Logik

Hauptmerkmale

  • Unterstützt if-else-Syntax in Widget-Bäumen
  • Bietet switch-case bedingte Rendering
  • Verringert Boilerplate in komplexen Bedingungen
  • Funktioniert auf allen Flutter-Plattformen
  • Minimaler Setup mit dem Befehl pub add
  • Sauberer, lesbarer bedingter Logik

Geeignet für

  • Entwickler, die sauberen bedingten UI-Code suchen
  • Projekte mit häufiger zustandsabhängiger Darstellung
  • Teams, die wartbare Widget-Logik priorisieren
  • Apps, die plattformspezifische UI-Variationen erfordern
  • Frontend-Entwickler, die deklarative UI-Muster verwenden

Hinweise

  • Kann die Bundle-Größe leicht erhöhen
  • Kenntnis der Ausdruckssyntax von Dart erforderlich
  • Nicht geeignet für sehr komplexe Zustandsverwaltung
  • Beschränkt auf einfache Bedingungstypen
  • Am besten zusammen mit State-Management-Lösungen verwendet
  • Vermeiden Sie die Überverwendung in tief verschachtelten Widget-Strukturen

Original-README

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

flutter_conditional_rendering

A flutter package which enhances conditional rendering, supports if-else and switch conditions.

Why

In flutter if you want to do conditional rendering, you may do this:

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        if (someCondition == true)
          Text('The condition is true!'),
      ],
    );
  }
}

But what if you want to use a tertiary (if-else) condition?

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        someCondition == true ?
          Text('The condition is true!'):
          Text('The condition is false!'),
      ],
    );
  }
}

It is okay for a single Text widget, but the readability quickly become very bad when the child widget is multi-layered.

Usage

If-Else condition:
class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        Conditional.single(
          context: context,
          conditionBuilder: (BuildContext context) => someCondition == true,
          widgetBuilder: (BuildContext context) => Text('The condition is true!'),
          fallbackBuilder: (BuildContext context) => Text('The condition is false!'),
        ),
      ],
    );
  }
}
Switch condition:
class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        ConditionalSwitch.single<String>(
          context: context,
          valueBuilder: (BuildContext context) => 'A',
          caseBuilders: {
            'A': (BuildContext context) => Text('The value is A!'),
            'B': (BuildContext context) => Text('The value is B!'),
          },
          fallbackBuilder: (BuildContext context) => Text('None of the cases matched!'),
        ),
      ],
    );
  }
}

Want a list of widgets?

If you want to conditionally render a list of widgets (List<Widget>) instead of a single one. Use Conditional.list() and ConditionalSwitch.list()!

Contributions

Feel free to contribute to this project.

If you find a bug or want a feature, but don't know how to fix/implement it, please fill an issue. If you fixed a bug or implemented a feature, please send a pull request.

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.