controller_builder 1.1.0 copy "controller_builder: ^1.1.0" to clipboard
controller_builder: ^1.1.0 copied to clipboard

Widget for abstracting initializing and disposing TextEditingController, ChangeNotifiers, etc.

example/lib/main.dart

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

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: Scaffold(
        body: Center(
          child: Padding(
            padding: EdgeInsets.all(8),
            child: ControllerBuilderExample(),
          ),
        ),
      ),
    );
  }
}

class ControllerBuilderExample extends StatelessWidget {
  const ControllerBuilderExample({super.key});

  @override
  Widget build(BuildContext context) {
    return ControllerBuilder<TextEditingController>(
      create: () {
        final controller = TextEditingController(text: 'Hello, world!');
        return controller..addListener(someListener);
      },
      builder: (context, controller, _) => TextField(controller: controller),
      dispose: (controller) {
        controller
          ..removeListener(someListener)
          ..dispose();
      },
    );
  }
}

void someListener() {}
0
likes
160
points
63
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Widget for abstracting initializing and disposing TextEditingController, ChangeNotifiers, etc.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on controller_builder