Открыть ящик на других страницах - PullRequest
0 голосов
/ 20 июня 2020

Мой ящик находится в моем файле main.dart. и я хочу открыть ящик с другой страницей. конечно Scaffold.of (context) .openDrawer (); не сработало. Но я понятия не имею.

Ответы [ 2 ]

2 голосов
/ 20 июня 2020

Создайте ящик publi c следующим образом:

import 'package:flutter/widgets.dart';

class PublicDrawer extends StatefulWidget {
  PublicDrawer({Key key}) : super(key: key);

  @override
  _PublicDrawerState createState() => _PublicDrawerState();
}

class _PublicDrawerState extends State<PublicDrawer> {
  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Container();
  }
}

и на всех остальных страницах используйте scaffold для реализации вашего ящика:

import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:~~~~~~~/Widgets/drawer.dart';

class ProfilePage extends StatefulWidget {
  ProfilePage({Key key}) : super(key: key);

  @override
  _ProfilePageState createState() => _ProfilePageState();
}

class _ProfilePageState extends State<ProfilePage> {
  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        drawer: PublicDrawer(), <----
        body: Container(),
      ),
    );
  }
}

0 голосов
/ 20 июня 2020

Сделайте компонент из своего ящика и поместите свою новую страницу (или страницу, на которой вы хотите открыть свой ящик) в ее собственном каркасе (а не в отдельном компоненте), затем импортируйте свой ящик и вставьте его в ящик каркаса . =)

...