Passing data into new Page Flutter

Viewed 94

I'm newly in mobile app development field.I want to know ,how to pass parameters(MaterialPageRoute) using button and click after get that data from mysql database in second page.

1 Answers

You can do like this, below i have mention some code.

    void main() => runApp(MyApp());
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          title: 'OMS ',
          theme: ThemeData(
            primarySwatch: Colors.blue,
          ),
          home: TaskList(),
        );
      }
    }
    
    class TaskList extends StatefulWidget {
      _TaskListState createState() => _TaskListState();
    }
    
    class _TaskListState extends State<TaskList> {
     
      var _textContoller = new TextEditingController(); 
      @override
      Widget build(BuildContext context) {
        return new Scaffold(
              appBar: new AppBar(
                title: Center(
                    child: Text(
                  'Task List',
                ))),
              body: new ListView(
              children: <Widget>[
               new ListTile(
               title: new TextField(
               controller: _textController),),
               new ListTile(title: new RaisedButton(child:
                new Text("NEXT"),onpressed(){
                 Navigator.push(
                context,
                MaterialPageRoute(
                    builder: (context) => NextPage(vale: _textController.text)));
                 }))
             ]
           )
        );
      }
    }
class NextPage extends StatefulWidget {
     final String value;
    NextPage(Key key ,this.value) : super (key:key)
      _NextPageState createState() => _NextPageState();
    }
    
    class _NextPageState extends State<NextPage> {
      
      @override
      Widget build(BuildContext context) {
        return new Scaffold(
              appBar: new AppBar(
                title: Center(
                    child: Text(
                  'Next Page',
                ))),
              body: new Text("${widget.value}")
        );
      }
    }
Related