首页 > 解决方案 > 通过 DropdownButton 移动到另一个页面时遇到问题

问题描述

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

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

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

Thanks for submitting an edit. It is only visible to you until it’s been approved by trusted community members

所以基本上我试图通过单击 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;
    });
}
}

标签: flutter

解决方案


您的应用程序的小部件层次结构应该是MaterialApp-> Scaffold-> DropdownButton。所以试着把你的喜欢包装在DropdownButton下面:

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

推荐阅读