как мне вставить сюда ящик? - PullRequest
0 голосов
/ 21 июня 2020

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

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

AppBar appBar(String name) {

  return AppBar(
    leading: Text(""),
    title: Text(
      name,
      style: TextStyle(color: Colors.blue),
    ),
    // centerTitle: true,
    
    elevation: 0,
    backgroundColor: Colors.transparent,
    
    actions: <Widget>[
      IconButton(
          icon: Icon(
            Icons.notification_important,
            color: Colors.blue,
          ),
          onPressed: () {}),
      
    ],
 );
}

class Drawer extends StatefulWidget {
  @override
  _DrawerState createState() => _DrawerState ();
}


class _DrawerState extends State <Drawer> {

@override

Widget build(BuildContext context) {

    return Scaffold(
      

      drawer: new Drawer (

Я получаю сообщение об ошибке, в котором говорится, что: Именованный параметр 'child' не определен. Попробуйте изменить имя на имя существующего именованного параметра или определить именованный параметр с именем «дочерний». Могу я получить помощь в устранении этой проблемы.

              child: <Widget>[

                ListView(
                
                  children : <Widget>[

                    ListTile(

                      onTap: (){},
                      leading: Icon(Icons.arrow_back),
                      title: Text("Back"),
  
                    ),

                    ListTile(

                      onTap: (){},
                      leading: Icon(Icons.home),
                      title: Text("Home"),
                    ),

                    ListTile(

                      onTap: (){},
                      leading: Icon(Icons.settings),
                      title: Text("Settings"),
                    ),


                     ListTile(

                      onTap: (){},
                      leading: Icon(Icons.mood_bad),
                      title: Text("Logout"),
                    ),
            ]
          ),
        ],               

      ),

     
    );
  }


}

Ответы [ 2 ]

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

child может быть Widget не List<Widget>, а также переименовать класс во что-то еще, не использовать Drawer.

drawer: Drawer(
        child: ListView(
          children: [
            ListTile(
              onTap: () {},
              leading: Icon(Icons.arrow_back),
              title: Text("Back"),
            ),
            ListTile(
              onTap: () {},
              leading: Icon(Icons.home),
              title: Text("Home"),
            ),
            ListTile(
              onTap: () {},
              leading: Icon(Icons.settings),
              title: Text("Settings"),
            ),
            ListTile(
              onTap: () {},
              leading: Icon(Icons.mood_bad),
              title: Text("Logout"),
            ),
          ],
        ),
      ),

Надеюсь, это решит вашу проблему

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

Вы назвали свой класс «Drawer», который заменяет класс по умолчанию. Просто измените свой класс на «MyDrawer».

И вам нужен виджет, а не список виджетов в качестве дочернего элемента, но я уверен, что вы сможете это исправить.

...