본문으로 바로가기

 

간단히 다음과 같은 TextField의 onChanged를 통해 입력한 값을 cityName이란 변수에 저장해두었고, FlatButton을 눌러서 다음으로 이동(pop 메서드니 정확히는 현 페이지 제거)하는 페이지에 cityName 변수를 전달합니다.

 

String cityName;

Container(
  child: TextField(
    onChanged: (value) {
      cityName = value;
    },
... 중략

FlatButton(
  onPressed: () {
    Navigator.pop(context, cityName);
  },

 

해당 페이지의 전 페이지의 Navigator를 통해 입력된 값을 받을 수 있습니다. Future이니 async/await처리를 해줍시다.

 

FlatButton(
  onPressed: () async {
    var typedName = await Navigator.push(
      context,
      MaterialPageRoute(builder: (context) {
        return CityScreen();
      }),
    );
  //cityName이 들어있습니다.
  print(typedName);
},

darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체