간단히 다음과 같은 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);
},
'📱 Mobile > 📱 (old) Flutter v 1.0' 카테고리의 다른 글
flutter 애니메이션 : Hero / AnimationController / CurvedAnimation / 그 밖의 package들 (0) | 2020.05.23 |
---|---|
dart.io 패키지를 활용한 플랫폼(iOS, Android) 감지하기 (0) | 2020.05.23 |
API 통신을 위한 http 패키지 및 json 활용 + Loader(spinner) (0) | 2020.05.22 |
stful 위젯의 lifecycle (0) | 2020.05.21 |
빠른 코딩을 위한 상수 전용 페이지 구성과 .copywith 메서드 (0) | 2020.05.20 |