Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
791 of 1024 menu
◀ ▶

Метод dispose

Метод dispose класса ChangeNotifier очищает список listener и запрещает дальнейшие addListener и notifyListeners. Вызывают из dispose виджета или вручную у модели.

Синтаксис

void dispose()

Пример

Давайте закроем ValueNotifier через dispose:

import 'package:flutter/foundation.dart'; void main() { final note = ValueNotifier<String>('abcde'); note.dispose(); print(note.hasListeners); }

Результат выполнения кода

false

Пример

Давайте вызовем dispose модели в dispose State:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: OwnerLeaf(), ), ), ), ); } class OwnerLeaf extends StatefulWidget { const OwnerLeaf({super.key}); @override State<OwnerLeaf> createState() => _OwnerLeafState(); } class _OwnerLeafState extends State<OwnerLeaf> { final note = ValueNotifier<String>('12345'); @override void dispose() { note.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return ValueListenableBuilder<String>( valueListenable: note, builder: (context, value, child) => Text(value), ); } }

На экране leaf покажет '12345', а dispose снимет ValueNotifier.

Смотрите также

  • метод dispose,
    где часто вызывают dispose модели
  • метод removeListener,
    который снимает одного слушателя до dispose
  • класс ValueNotifier,
    который наследует dispose
  • класс ChangeNotifier,
    к которому относится dispose
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить