Show Date Picker – Flutter

ShowDatePicker adalah salah satu widget di Flutter yang memungkinkan kita untuk menampilkan dialog untuk memilih tanggal. Ketika widget ini dipanggil, maka dialog akan muncul dan memungkinkan pengguna untuk memilih tanggal dari kalender.

Berikut ini adalah contoh implementasi sederhana dari ShowDatePicker:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('ShowDatePicker Demo'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            final DateTime picked = await showDatePicker(
              context: context,
              initialDate: DateTime.now(),
              firstDate: DateTime(2015, 8),
              lastDate: DateTime(2101),
            );
            if (picked != null) {
              print('Tanggal yang dipilih: $picked');
            }
          },
          child: Text('Pilih Tanggal'),
        ),
      ),
    );
  }
}

Pada contoh di atas, ketika tombol ditekan, fungsi showDatePicker akan dipanggil. Fungsi ini meminta BuildContext sebagai parameter yang digunakan untuk membangun dialog untuk memilih tanggal.

Selain itu, kita juga memberikan beberapa parameter seperti initialDate untuk menentukan tanggal awal yang akan ditampilkan, firstDate untuk menentukan tanggal pertama yang bisa dipilih, dan lastDate untuk menentukan tanggal terakhir yang bisa dipilih.

Ketika pengguna memilih tanggal dari dialog, maka variabel picked akan berisi nilai yang sesuai. Jika pengguna memilih untuk membatalkan dialog, maka nilai variabel picked akan menjadi null.

Dengan demikian, ketika pengguna memilih sebuah tanggal, maka pesan “Tanggal yang dipilih: …” akan ditampilkan di konsol bersama dengan tanggal yang dipilih.

ShowDatePicker juga dapat digunakan dalam TextFormFields untuk memungkinkan pengguna memilih tanggal langsung dari field input. Ini sangat berguna dalam formulir yang membutuhkan input tanggal.

Berikut ini adalah contoh implementasi sederhana dari ShowDatePicker pada TextFormField:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  final _formKey = GlobalKey<FormState>();
  DateTime _selectedDate;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('ShowDatePicker Demo'),
      ),
      body: Form(
        key: _formKey,
        child: Padding(
          padding: const EdgeInsets.all(16.0),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              TextFormField(
                decoration: InputDecoration(
                  labelText: 'Tanggal Lahir',
                ),
                readOnly: true,
                onTap: () async {
                  final DateTime picked = await showDatePicker(
                    context: context,
                    initialDate: _selectedDate ?? DateTime.now(),
                    firstDate: DateTime(1900),
                    lastDate: DateTime.now(),
                  );
                  if (picked != null && picked != _selectedDate) {
                    _selectedDate = picked;
                    print('Tanggal yang dipilih: $_selectedDate');
                  }
                },
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Pada contoh di atas, kita menambahkan sebuah TextFormField untuk input tanggal. Ketika pengguna mengetuk TextFormField, maka fungsi showDatePicker akan dipanggil dan memungkinkan pengguna memilih tanggal.

Dalam fungsi showDatePicker, kita memberikan beberapa parameter seperti initialDate untuk menentukan tanggal awal yang akan ditampilkan, firstDate untuk menentukan tanggal pertama yang bisa dipilih, dan lastDate untuk menentukan tanggal terakhir yang bisa dipilih.

Jika pengguna memilih tanggal, maka nilai _selectedDate akan diubah dan pesan “Tanggal yang dipilih: …” akan ditampilkan di konsol bersama dengan tanggal yang dipilih.

Selain itu, kita juga menetapkan readOnly: true pada TextFormField untuk mencegah pengguna mengedit nilai tanggal secara langsung. Dengan demikian, pengguna hanya dapat memilih tanggal melalui dialog yang ditampilkan ketika TextFormField ditekan.

Subscribe

Related articles

Relasi dalam Laravel

One-to-One Relasi one-to-one adalah relasi sederhana dan paling umum. Contoh...

XAMPP: Aplikasi Web Server Lokal

Apa itu XAMPP? XAMPP adalah aplikasi yang memungkinkan Anda untuk...

Composer: Pengantar dan Cara Menggunakannya

Apa itu Composer? Composer adalah alat untuk manajemen dependensi dalam...

Mailtrap dan Cara Menggunakannya di Laravel

Apa itu Mailtrap? Mailtrap adalah layanan email berbasis web yang...

Bootstrap vs Tailwind: Perbandingan Framework CSS

Bootstrap dan Tailwind adalah dua alat yang paling populer untuk membangun aplikasi...

LEAVE A REPLY

Please enter your comment!
Please enter your name here