Flutter 通过下拉按钮将问题移动到另一页

Flutter 通过下拉按钮将问题移动到另一页,flutter,Flutter,所以基本上我试图通过点击dropdownButton来改变一个页面,由于某种原因我得到了这个错误 我曾尝试用材料/脚手架包装东西,但都不起作用。 有什么帮助吗 import 'package:flutter/material.dart'; import 'package:intergrative2020_UI_Rest/screens/signup.dart'; class AdminPermissions extends StatefulWidget { @override _Ad

所以基本上我试图通过点击dropdownButton来改变一个页面,由于某种原因我得到了这个错误

我曾尝试用材料/脚手架包装东西,但都不起作用。 有什么帮助吗

import 'package:flutter/material.dart';
import 'package:intergrative2020_UI_Rest/screens/signup.dart';


class AdminPermissions extends StatefulWidget {
  @override
  _AdminPermissionsState createState() => _AdminPermissionsState();
}

class _AdminPermissionsState extends State<AdminPermissions> {
  var _currencies = ['Create User','Delete User','Search User'];
 var _currentItemSelected = '';

  @override
  void initState() {
    super.initState();
     _currentItemSelected = _currencies[0];

  }

  @override
  Widget build(BuildContext context) {
          return MaterialApp(
                     home:Scaffold(
                     body: DropdownButton<String>(
                            items: _currencies.map((String value) {
                                                       return DropdownMenuItem(
                                                                      value: value,
                                                                      child: Text(value),
                                                                    );
                                                                    }).toList(),
                                                                    value: _currentItemSelected,
                                                                    onChanged: (String newValueSelected) {
                                                                    // Your code to execute, when a menu item is selected from dropdown
                                                                    _onDropDownItemSelected(newValueSelected);
                                                                      switch(newValueSelected){
                                                                          case "Create User" :{
                                                                            Navigator.pushReplacement(context, MaterialPageRoute(builder: (BuildContext context) => Signup()));
                                                                            break;
                                                                            }

                                                                          }
                                                                    }  
                                                                 ),
                                                     ),
                         );






  }
    void _onDropDownItemSelected(String newValueSelected) {
    setState(() {
      this._currentItemSelected = newValueSelected;
    });
}
}
我曾尝试用材料/脚手架包装东西,但都不起作用。 有什么帮助吗

import 'package:flutter/material.dart';
import 'package:intergrative2020_UI_Rest/screens/signup.dart';


class AdminPermissions extends StatefulWidget {
  @override
  _AdminPermissionsState createState() => _AdminPermissionsState();
}

class _AdminPermissionsState extends State<AdminPermissions> {
  var _currencies = ['Create User','Delete User','Search User'];
 var _currentItemSelected = '';

  @override
  void initState() {
    super.initState();
     _currentItemSelected = _currencies[0];

  }

  @override
  Widget build(BuildContext context) {
          return MaterialApp(
                     home:Scaffold(
                     body: DropdownButton<String>(
                            items: _currencies.map((String value) {
                                                       return DropdownMenuItem(
                                                                      value: value,
                                                                      child: Text(value),
                                                                    );
                                                                    }).toList(),
                                                                    value: _currentItemSelected,
                                                                    onChanged: (String newValueSelected) {
                                                                    // Your code to execute, when a menu item is selected from dropdown
                                                                    _onDropDownItemSelected(newValueSelected);
                                                                      switch(newValueSelected){
                                                                          case "Create User" :{
                                                                            Navigator.pushReplacement(context, MaterialPageRoute(builder: (BuildContext context) => Signup()));
                                                                            break;
                                                                            }

                                                                          }
                                                                    }  
                                                                 ),
                                                     ),
                         );






  }
    void _onDropDownItemSelected(String newValueSelected) {
    setState(() {
      this._currentItemSelected = newValueSelected;
    });
}
}

所以基本上我试图通过点击dropdownButton来改变一个页面,由于某种原因我得到了这个错误

我曾尝试用材料/脚手架包装东西,但都不起作用。有什么帮助吗

import 'package:flutter/material.dart';
import 'package:intergrative2020_UI_Rest/screens/signup.dart';


class AdminPermissions extends StatefulWidget {
  @override
  _AdminPermissionsState createState() => _AdminPermissionsState();
}

class _AdminPermissionsState extends State<AdminPermissions> {
  var _currencies = ['Create User','Delete User','Search User'];
 var _currentItemSelected = '';

  @override
  void initState() {
    super.initState();
     _currentItemSelected = _currencies[0];

  }

  @override
  Widget build(BuildContext context) {
          return MaterialApp(
                     home:Scaffold(
                     body: DropdownButton<String>(
                            items: _currencies.map((String value) {
                                                       return DropdownMenuItem(
                                                                      value: value,
                                                                      child: Text(value),
                                                                    );
                                                                    }).toList(),
                                                                    value: _currentItemSelected,
                                                                    onChanged: (String newValueSelected) {
                                                                    // Your code to execute, when a menu item is selected from dropdown
                                                                    _onDropDownItemSelected(newValueSelected);
                                                                      switch(newValueSelected){
                                                                          case "Create User" :{
                                                                            Navigator.pushReplacement(context, MaterialPageRoute(builder: (BuildContext context) => Signup()));
                                                                            break;
                                                                            }

                                                                          }
                                                                    }  
                                                                 ),
                                                     ),
                         );






  }
    void _onDropDownItemSelected(String newValueSelected) {
    setState(() {
      this._currentItemSelected = newValueSelected;
    });
}
}
我曾尝试用材料/脚手架包装东西,但都不起作用。有什么帮助吗

import 'package:flutter/material.dart';
import 'package:intergrative2020_UI_Rest/screens/signup.dart';


class AdminPermissions extends StatefulWidget {
  @override
  _AdminPermissionsState createState() => _AdminPermissionsState();
}

class _AdminPermissionsState extends State<AdminPermissions> {
  var _currencies = ['Create User','Delete User','Search User'];
 var _currentItemSelected = '';

  @override
  void initState() {
    super.initState();
     _currentItemSelected = _currencies[0];

  }

  @override
  Widget build(BuildContext context) {
          return MaterialApp(
                     home:Scaffold(
                     body: DropdownButton<String>(
                            items: _currencies.map((String value) {
                                                       return DropdownMenuItem(
                                                                      value: value,
                                                                      child: Text(value),
                                                                    );
                                                                    }).toList(),
                                                                    value: _currentItemSelected,
                                                                    onChanged: (String newValueSelected) {
                                                                    // Your code to execute, when a menu item is selected from dropdown
                                                                    _onDropDownItemSelected(newValueSelected);
                                                                      switch(newValueSelected){
                                                                          case "Create User" :{
                                                                            Navigator.pushReplacement(context, MaterialPageRoute(builder: (BuildContext context) => Signup()));
                                                                            break;
                                                                            }

                                                                          }
                                                                    }  
                                                                 ),
                                                     ),
                         );






  }
    void _onDropDownItemSelected(String newValueSelected) {
    setState(() {
      this._currentItemSelected = newValueSelected;
    });
}
}
导入“包装:颤振/材料.省道”;
导入“package:Integrative2020_UI_Rest/screens/signup.dart”;
类AdminPermissions扩展了StatefulWidget{
@凌驾
_AdminPermissionsState createState()=>\u AdminPermissionsState();
}
类_AdminPermissionsState扩展状态{
var_currency=[“创建用户”、“删除用户”、“搜索用户”];
var_currentItemSelected='';
@凌驾
void initState(){
super.initState();
_currentItemSelected=_货币[0];
}
@凌驾
小部件构建(构建上下文){
返回材料PP(
家:脚手架(
正文:下拉按钮(
项目:_currences.map((字符串值){
返回下拉菜单项(
价值:价值,
子项:文本(值),
);
}).toList(),
值:_currentItemSelected,
onChanged:(字符串newValueSelected){
//从下拉列表中选择菜单项时要执行的代码
_onDropDownItemSelected(newValueSelected);
开关(newValueSelected){
案例“创建用户”:{
pushReplacement(context,MaterialPageRoute(builder:(BuildContext context)=>Signup());
打破
}
}
}  
),
),
);
}
void _onDropDownItemSelected(字符串newValueSelected){
设置状态(){
此._currentItemSelected=newValueSelected;
});
}
}

应用程序的小部件层次结构应该是
MaterialApp
->
Scaffold
->
下拉按钮。
因此,请尝试包装您的
下拉按钮
,如下所示:

MaterialApp(
  title://Title
  home:Scaffold(
    body:DropdownButton(
      .....
      .....
    )
  )
)

应用程序的小部件层次结构应该是
MaterialApp
->
Scaffold
->
下拉按钮。
因此,请尝试包装您的
下拉按钮
,如下所示:

MaterialApp(
  title://Title
  home:Scaffold(
    body:DropdownButton(
      .....
      .....
    )
  )
)

尝试使用
MaterialApp
。尝试使用
MaterialApp