Widget을 밖으로 뺄 경우 부모의 위젯의 함수를 받아서 호출 할 수 있다.
부모
String purchaseDate = "";
String expirationDate = "";
void setPurchaseDate(String date) {
purchaseDate = date;
}
void setExpirationDate(String date) {
expirationDate = date;
}
InputDateFiled(
setDate: setPurchaseDate,
hintText: "구입날짜",
),
InputDateFiled(
setDate: setExpirationDate,
hintText: "유통기한",
),
자식
class InputDateFiled extends StatefulWidget {
const InputDateFiled({
super.key,
required this.hintText,
required this.setDate,
});
final String hintText;
final Function setDate;
if (newDate != null) {
String date = "${newDate.year}/${newDate.month}/${newDate.day}";
widget.setDate(date);
setState(() {
dateText = date;
});
}