Метод dispose
Метод dispose класса TextEditingController
отпускает контроллер текста.
После вызова слушать изменения строки уже нельзя.
Синтаксис
controller.dispose()
Пример
Давайте создадим поле:
import 'package:flutter/material.dart';
void main() => runApp(const MaterialApp(home: Demo()));
class Demo extends StatefulWidget {
const Demo({super.key});
@override
State<Demo> createState() => _DemoState();
}
class _DemoState extends State<Demo> {
late final c = TextEditingController(text: 'abcde');
@override
void dispose() { c.dispose(); super.dispose(); }
@override
Widget build(BuildContext context) => TextField(controller: c);
}
На экране поле с 'abcde', контроллер освобождают при закрытии.
Пример
Давайте покажем текст:
import 'package:flutter/material.dart';
void main() => runApp(const MaterialApp(home: Demo()));
class Demo extends StatefulWidget {
const Demo({super.key});
@override
State<Demo> createState() => _DemoState();
}
class _DemoState extends State<Demo> {
late final c = TextEditingController(text: '12345');
@override
void dispose() { c.dispose(); super.dispose(); }
@override
Widget build(BuildContext context) => TextField(controller: c);
}
На экране '12345' перед dispose.
Смотрите также
-
класс
TextEditingController,
который хранит текст и выделение -
метод
clear,
который очищает строку в контроллере -
виджет
TextField,
который принимает текст с клавиатуры -
метод
addListener,
который подписывает функцию на изменения