Flutter - передача параметра функции Route - PullRequest
0 голосов
/ 05 августа 2020

У меня есть пользовательский переход между слайдами, сохраненный в собственном файле Dart. Как передать ему аргументы или параметры с другой страницы?

Что у меня есть:

import 'package:flutter/material.dart';
import 'package:flutter_first_project/Pages/2_Carousel.dart';
import 'package:flutter_first_project/Pages/3_Carousel.dart';
import 'package:flutter_first_project/Pages/Dashboard.dart';

Route createRoute() {
  return PageRouteBuilder(
    transitionDuration: Duration(seconds: 1),
    pageBuilder: (context, animation, secondaryAnimation) => Carousel_b()
    transitionsBuilder: (context, animation, secondaryAnimation, child) {
      var begin = Offset(1.0, 0.0);
      var end = Offset.zero;
      var curve = Curves.ease;

      var tween = Tween(begin: begin, end: end).chain(CurveTween(curve: curve));

      return SlideTransition(
        position: animation.drive(tween),
        child: child,
      );
    },
  );
}

// main file
...
onPressed: () {
  Navigator.of(context).push(createRoute());
                      },

Что я хочу:

import 'package:flutter/material.dart';
import 'package:flutter_first_project/Pages/2_Carousel.dart';
import 'package:flutter_first_project/Pages/3_Carousel.dart';
import 'package:flutter_first_project/Pages/Dashboard.dart';

Route createRoute(Page) {
  return PageRouteBuilder(
    transitionDuration: Duration(seconds: 1),
    pageBuilder: (context, animation, secondaryAnimation) => Page()
    transitionsBuilder: (context, animation, secondaryAnimation, child) {
      var begin = Offset(1.0, 0.0);
      var end = Offset.zero;
      var curve = Curves.ease;

      var tween = Tween(begin: begin, end: end).chain(CurveTween(curve: curve));

      return SlideTransition(
        position: animation.drive(tween),
        child: child,
      );
    },
  );
}

// main file
...
onPressed: () {
Navigator.of(context).push(createRoute(Carousel_b));
              },

Надеюсь, мой вопрос Чисто. В основном я хочу использовать переход, превышающий X раз, и я хочу просто передать ему аргументы вместо того, чтобы копировать его X раз и просто изменять виджет, который необходимо построить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...