どうも、ちょげ(@chogetarou)です。
SfCalendarで表示するカレンダーのセルをタップした時の処理を追加する方法を紹介します。
方法
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: SfCalendar(
view: CalendarView.month,
onTap: (CalendarTapDetails details) {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Container(
child: Text("${details.date}"),
),
actions: <Widget>[
new TextButton(
onPressed: () {
Navigator.of(context).pop();
},
child: Text('Close'))
],
);
});
},
),
));
}
カレンダーにタップ処理を追加するには、「onTap引数」を使います。
このタップには、「(CalendarTapDetails details) { }」という型の関数を指定します。
引数の「CalendarTapDetails」は、タップしたセルの情報を持つクラスです。
このクラスには、タップしたセルの日付、予定、イベントなどの様々な情報があります。
「{ }」内では、タップした時に行いたい処理を記述します。
SfCalendar (
onTap : (CalendarTapDetails details) {
//処理
}
)
コメント