collection_notifiers 1.0.4 copy "collection_notifiers: ^1.0.4" to clipboard
collection_notifiers: ^1.0.4 copied to clipboard

Collections with implementation of ChangeNotifier/ValueListenable for minimum rebuild and better syntax

example/lib/main.dart

import 'package:collection_notifiers/collection_notifiers.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const App());
}

class App extends StatelessWidget {
  const App({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: Home());
  }
}

final notifier = SetNotifier<int>();

class Home extends StatelessWidget {
  const Home({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Example')),
      body: ValueListenableBuilder<Set<int>>(
        valueListenable: notifier,
        builder: (context, value, child) {
          return ListView(
            children: [
              ...ListTile.divideTiles(
                context: context,
                tiles: List.generate(20, (index) {
                  return CheckboxListTile(
                    value: value.contains(index),
                    title: Text(index.toString()),
                    onChanged: (arg) {
                      if (arg == true) {
                        notifier.add(index);
                      } else {
                        // this is also legit
                        value.remove(index);
                      }
                    },
                  );
                }),
              ),
            ],
          );
        },
      ),
    );
  }
}
5
likes
0
pub points
40%
popularity

Publisher

unverified uploader

Collections with implementation of ChangeNotifier/ValueListenable for minimum rebuild and better syntax

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

collection, flutter

More

Packages that depend on collection_notifiers