패키지, 저장소 및 앱 카테고리 검색

패키지 상세v2.1.0

datetime_picker_formfield_new

DateTime를 발생시키고 Material, Cupertino 및 기타 스타일의 선택기 대화 상자를 표시하는 데 도움이 되는 TextFormField입니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
8.4천
좋아요
34
Pub 점수
140

패키지 설치

flutter pub add datetime_picker_formfield_new

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

DateTime 값을 방출할 수 있고 Material, Cupertino 및 기타 스타일의 날짜/시간 선택기 대화상과 통합되는 TextFormField를 제공하는 Flutter 패키지입니다. 다양한 플랫폼에서 입력 필드와 직관적인 선택기 인터페이스를 결합함으로써 폼 처리를 간소화합니다. 날짜 또는 시간 선택이 필요한 폼에서 원활하게 사용되도록 설계되었으며 Android, iOS, Web, macOS, Windows, Linux 등 여러 플랫폼을 지원합니다. 최소한의 설정으로 일관되고 플랫폼 적응형 선택기를 제공하여 사용자 경험을 향상시킵니다.

사용 사례

  • 날짜/시간 선택이 필요한 폼 입력
  • 다중 플랫폼 날짜/시간 입력
  • 양식 검증과의 통합
  • 사용자 지정 가능한 피커 스타일링
  • 동적 폼 필드 업데이트
  • 모바일 및 웹 앱에서 사용자 친화적인 시간 입력

주요 기능

  • Material 및 Cupertino 피커를 지원합니다
  • DateTime 객체를 방출합니다
  • 크로스 플랫폼 호환성
  • Form 위젯과의 간편한 통합
  • 사용자 정의 가능한 대화 상자 모양
  • 내장 검증 지원

적합한 대상

  • 크로스 플랫폼 폼을 구축하는 개발자
  • 네이티브 스타일의 날짜/시간 입력이 필요한 앱
  • 기기 간 일관된 UX를 우선시하는 팀
  • Flutter 폼 아키텍처를 사용하는 프로젝트
  • 날짜 선택기의 뼈대 코드를 최소화하고자 하는 사용자

고려 사항

  • Flutter 2.0 이상 필요
  • 복잡한 테마를 위해 추가 스타일링이 필요할 수 있습니다
  • 기본 날짜/시간 형식에 국한됨
  • 내장된 로컬라이제이션 지원 없음
  • 하위 플랫폼의 피커 동작에 의존
  • 높은 사용자 정의 피커 UI에는 적합하지 않습니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

DateTimeField

A TextFormField that emits DateTimes and helps show Material, Cupertino, and other style picker dialogs.

Fork with support for flutter >3.0.0

Example

See the example tab (example/lib/main.dart) for more.

screenshot.gif

import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:datetime_picker_formfield/datetime_picker_formfield.dart';

// ...

class BasicDateField extends StatelessWidget {
  final format = DateFormat("yyyy-MM-dd");
  @override
  Widget build(BuildContext context) {
    return Column(children: <Widget>[
      Text('Basic date field (${format.pattern})'),
      DateTimeField(
        format: format,
        onShowPicker: (context, currentValue) {
          return showDatePicker(
            context: context,
            firstDate: DateTime(1900),
            initialDate: currentValue ?? DateTime.now(),
            lastDate: DateTime(2100),
          );
        },
      ),
    ]);
  }
}

class BasicTimeField extends StatelessWidget {
  final format = DateFormat("HH:mm");
  @override
  Widget build(BuildContext context) {
    return Column(children: <Widget>[
      Text('Basic time field (${format.pattern})'),
      DateTimeField(
        format: format,
        onShowPicker: (context, currentValue) async {
          final time = await showTimePicker(
            context: context,
            initialTime: TimeOfDay.fromDateTime(currentValue ?? DateTime.now()),
          );
          return DateTimeField.convert(time);
        },
      ),
    ]);
  }
}

class BasicDateTimeField extends StatelessWidget {
  final format = DateFormat("yyyy-MM-dd HH:mm");
  @override
  Widget build(BuildContext context) {
    return Column(children: <Widget>[
      Text('Basic date & time field (${format.pattern})'),
      DateTimeField(
        format: format,
        onShowPicker: (context, currentValue) async {
          return await showDatePicker(
            context: context,
            firstDate: DateTime(1900),
            initialDate: currentValue ?? DateTime.now(),
            lastDate: DateTime(2100),
          ).then((DateTime? date) async {
            if (date != null) {
              final time = await showTimePicker(
                context: context,
                initialTime:
                    TimeOfDay.fromDateTime(currentValue ?? DateTime.now()),
              );
              return DateTimeField.combine(date, time);
            } else {
              return currentValue;
            }
          });
        },
      ),
    ]);
  }
}

카테고리

의존성

의존성 목록 1 개

소스 저장소

이 패키지를 사용하는 프로젝트