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

Класс RouteSettings

Класс RouteSettings описывает метаданные Route. Поле name - строка маршрута для pushNamed. Поле arguments несёт любой объект на следующий экран.

Синтаксис

const RouteSettings( name: '/detail', arguments: 'abcde', )

Параметры

Параметр Описание
name Имя маршрута, например путь экрана.
arguments Произвольные данные, которые экран получает при открытии.

Пример

Давайте прочитаем arguments на втором экране:

import 'package:flutter/material.dart'; class ArgsHome extends StatelessWidget { const ArgsHome({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () { Navigator.push( context, MaterialPageRoute<void>( settings: const RouteSettings( name: '/show', arguments: 'abcde', ), builder: (ctx) => const ArgsShow(), ), ); }, child: const Text('12345'), ), ), ); } } class ArgsShow extends StatelessWidget { const ArgsShow({super.key}); @override Widget build(BuildContext context) { var args = ModalRoute.of(context)?.settings.arguments; return Scaffold( body: Center( child: Text('$args'), ), ); } } void main() { runApp( MaterialApp( home: ArgsHome(), ), ); }

На втором экране по центру появится 'abcde' из RouteSettings.arguments.

Пример

Давайте выведем name маршрута:

import 'package:flutter/material.dart'; void main() { const settings = RouteSettings(name: '/home'); runApp( MaterialApp( home: Scaffold( body: Center( child: Text(settings.name ?? '12345'), ), ), ), ); }

На экране по центру строка '/home'.

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

  • класс MaterialPageRoute,
    принимает settings в конструкторе
  • метод pushNamed,
    ищет Route по name
  • метод ModalRoute.of,
    даёт settings текущего маршрута
  • класс Route,
    владелец RouteSettings
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить