Home > Blockchain >  How can I update the date on the bottom sheet when I have finished selecting the date picker?
How can I update the date on the bottom sheet when I have finished selecting the date picker?

Time:03-15

I need to update the date display on bottom sheet when I select date on date picker of another bottom sheet, please help me.

date picker

need update date text

CodePudding user response:

You must use StatefulWidget in bottom sheet. With this widget you can setstate in your bottom sheet.

Example usage: https://api.flutter.dev/flutter/widgets/StatefulBuilder-class.html

CodePudding user response:

//used library
import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; 

//declare variables
String hourOfPeriod = "AM";
String hour = "00";
TimeOfDay _time = TimeOfDay(hour: 00, minute: 00);
NumberFormat f = NumberFormat("00", "en_US"); 

//for displaying TimePicker
 void _selectTime() async {
   final TimeOfDay? newTime = await showTimePicker(
      context: context,
      initialTime: _time,
      helpText: "RESCHEDULE TIME",
     );

  if (newTime != null) {
     setState(() {
     _time = newTime;
     hourOfPeriod = _time.period == DayPeriod.pm ? "PM" : "AM";
     });
   }
}


//code inside build(BuildContext context)

  InkWell(
    onTap: () {
      _selectTime();
    },
    child: Row(
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        Text("${f.format(_time.hourOfPeriod)}:"),
        Text("${f.format(_time.minute)}"),
        Text("$hourOfPeriod")
       ],
     ),
   )

//Output Format: HH:MM AM/PM
  • Related