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

Метод of

Метод of виджета Navigator. Он принимает context и даёт доступ к push и pop. Без Navigator в предках будет ошибка.

Синтаксис

Navigator.of(context)

Параметры

ПараметрОписание
contextBuildContext под Navigator.

Пример

Давайте откроем экран через Navigator.of:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Builder( builder: (context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () { Navigator.of(context).push( MaterialPageRoute<void>( builder: (ctx) => Scaffold( body: Center( child: Text('12345'), ), ), ), ); }, child: const Text('abcde'), ), ), ); }, ), ), ); }

На экране кнопка 'abcde'; по нажатию of найдёт Navigator и откроет экран '12345'.

Пример

Давайте проверим canPop через of:

import 'package:flutter/material.dart'; class CanPopLabel extends StatelessWidget { const CanPopLabel({super.key}); @override Widget build(BuildContext context) { var res = Navigator.of(context).canPop(); return Text('$res'); } } void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: CanPopLabel(), ), ), ), ); }

На экране по центру будет false на корневом маршруте без предков.

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

  • метод maybeOf,
    который возвращает null без Navigator
  • метод push,
    который кладёт Route на стопку
  • метод pop,
    который снимает верхний Route
  • виджет Navigator,
    который хранит стопку маршрутов
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить