반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- DDD
- nestjs스터디
- JPA 공부
- JPA공부
- 스프링
- querydsl
- nestjs공부
- 플러터 공부
- 자바공부
- JPA예제
- Axon framework
- 스프링부트
- JPA스터디
- Flutter
- 카프카
- 스프링부트공부
- 기술공부
- 플러터 개발
- 알고리즘공부
- 코테준비
- Kafka
- K8S
- 자료구조공부
- 스프링 공부
- 기술면접공부
- nestjs
- JPA
- 코테공부
- 프로그래머스
- 스프링공부
Archives
- Today
- Total
DevBoi
[Flutter] 화면 이동간 데이터 전달 본문
반응형
화면 이동하는 걸 전 포스팅에서 다뤘다.
그러면 이동간 데이터 전달은 어떻게 할까?
우선 해당 위젯에 대한 생성자에 파라미터를 추가해주고 넘기면 된다.
1. push , pop의 경우 값을 넘겨주기
단순 값. 전송부
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) => Scene2(),
settings: RouteSettings(arguments: '전송한 데이터'),
),
);
단순 값 수신부
@override
Widget build(BuildContext context) {
final arguments = ModalRoute.of(context)!.settings.arguments;
print(arguments);
객체 전송부
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) => Scene2(),
settings: RouteSettings(arguments: Person('id_test','name-smith')),
),
);
객체 수신부
@override
Widget build(BuildContext context) {
Person arguments = ModalRoute.of(context)!.settings.arguments as Person;
print(arguments.id);
print(arguments.name);
라우터 이동시에 데이터 전달
GestureDetector(
onTap: (){
Navigator.pushNamed(context, '/second',
arguments: Person('gd','smith'),
);
라우터 이동 시에 데이터 수신
Person arguments = ModalRoute.of(context)!.settings.arguments as Person;
print(arguments.id);
print(arguments.name);
여러개 데이터 발,수신
GestureDetector(
onTap: (){
Navigator.pushNamed(context, '/second',
arguments: [Person('gd','smith'),Person('gd2','smith2')],
@override
Widget build(BuildContext context) {
List<Person> arguments = ModalRoute.of(context)!.settings.arguments as List<Person>;
print(arguments.length);
print(arguments[0].id);
print(arguments[1].id);
이런식으로 하면 서버를 굳이 여러번 찌르지않아도,
데이터 전달이 화면 간 가능하다.
반응형
'[Mobile] > [Flutter]' 카테고리의 다른 글
[Flutter] 동적 리스트뷰 생성하기 (0) | 2023.07.16 |
---|---|
[Flutter] 정적 리스트뷰 (0) | 2023.07.15 |
[Flutter] 플러터 화면 이동 (0) | 2023.07.15 |
[Flutter] assets에 추가하고 IOS 빌드에 추가 (0) | 2023.07.15 |
[Flutter] 피그마로 레이아웃 잡고 소스뽑기 (0) | 2023.07.15 |