Forms 1: User Input
AddDogForm
에 기능을 추가하는것은 쉬운 일이다.
기본적으로 폼 입력을 추적하고 라우터를 통해 메인 페이지로 데이터를 반환하는 함수를 플러터 클래스에 추가하면 된다.
1. TextEditingController class
입력 폼 요소를 추적하려면 Form
위젯을 추가하거나, 텍스트 입력을 별도로 추적 하면 된다.
이 예제에선 후자(텍스트 입력을 별도로 추적)를 통해서 처리 하는 방법을 보여줄 것이다. TextEditingController
는 플러터에서 중요하고 기본적인 것이다.
TextEditingController
는 기본적으로 할당된 TextField
를 청취(listens)하는 클래스이고 TextField
의 텍스트가 변경 될때마다 내부 상태를 업데이트 한다.
여러분의 _AddDogFormPageState
클래스에서 각 TextField
에 controller
와 onChanged
속성을 추가하자.
1 | // new_dog_form.dart |
새로운 일이 일어나고 있는 것처럼 보이지는 않지만, TextEditingControllers
는 여러분의 폼(form)을 추적하고 있다.
2. Submit The Form
new_dog_form.dart
파일에 dog_model.dart
import처리.
1 | // new_dog_form.dart |
동일한 _AddDogFormPageState
클래스에 Navigator
를 통해 폼 정보를 다시 전달하는 submitPup
함수를 추가한다.
1 | // new_dog_form.dart |
마지막으로, 'RaisedButton’의 onPressed
콜백에 submitPop
을 추가한다.
1 | // new_dog_form.dart |
그게 다다.(이게 끝이다) 이제 새로운 강아지를 제출해서 main페이지에서 확인해 보자.