파파비의 블로그

플러터, flutter) Input을 도와주는, Form 위젯 (2) - Form의 값들을 가져오기 본문

개발/flutter

플러터, flutter) Input을 도와주는, Form 위젯 (2) - Form의 값들을 가져오기

N. Dave 2020. 6. 9. 23:20
반응형

Form에서 입력한 값들을 어떻게 가져올까?

가져오는 방법은 어렵지 않다.

 

1) Form의 Data는 key를 통해 접근한다.

 - 먼저 GlobalKey<FormState>(); 를 레퍼런스와 함께 만든다.

 - 그 뒤에 그 레퍼런스를 Form의 key 속성에 부여한다.

 - 따로 함수를 만든 뒤, 그 함수에서 레퍼런스.currentstate.save(); 메소드를 실행하면, Form안에 있는 모든 TextFormField의 onSave 속성의 콜백메소드들이 실행된다. 

다른 객체들과 함께 만들어진 글로벌 키

 

그리고 이렇게 key로 설정해두었다.

 

어떤 버튼을 누르면 saveForm이 작동되도록 해두었다. 

위 메소드를 보면 currtenState.save를 호출한다.
이렇게 되면 각 textformfield에 있는 onsave 메소드들이 작동하게 된다. 

2) TextFormField의 onSave속성으로 각 입력값에 접근할 수 있다.

TextFormField의 onSave에는 콜백을 넣을 수 있는데, 인자가 입력값이다.

따라서 우리는 그 값을 원하는대로 처리할 수 있다. 

 하나의 텍스트필드를 가져왔다.
onSaved의 value는 해당 텍스트필드에 입력된 값이다. 우리는 생성된 객체의 하나의 속성에만 값을 부여한다.
다른 텍스트필드들이 다른 속성 부분을 바꿀 것이다.

 

예시에서는 하나의 객체를 만들고,

각 TextFormField가 객체의 하나의 속성을 업데이트 하도록 만들었다.

그래서 각 텍스트필드들이 업데이트를 하면 하나의 객체는 필요한 모든 부분이 업데이트된 상태가 된다.

 

 

 

 

 

 

반응형
Comments