自定义对话框上的TextField点击?

时间:2019-06-26 08:50:56

标签: flutter dialog textfield

我的问题类似于Show datepicker on textfield tap,但我需要在Flutter中进行。

我有一个TextField显示一个日期,我想在用户点击它时弹出一个日期对话框。

是否应该使用另一个小部件代替TextField?

3 个答案:

答案 0 :(得分:0)

尝试类似的方法

           TextField(
             onTap: () => print('tapped'),
                decoration: InputDecoration(
                    border: InputBorder.none,
                    hintText: 'Enter a search term'),

            );

答案 1 :(得分:0)

简短的回答:据我所知,没有专门用于此目的的小部件。

长答案:这取决于您选择日期后要执行的操作。另一个简单的解决方案是为此使用FlatButton。它没有不必要的TextField样式,同时又给用户一些水龙头的反馈。

FlatButton(
  onPressed: () {
    // call your dialog
  },
  child: Text(
    "Select date",
  ),
)

答案 2 :(得分:0)

您可以尝试使用此软件包here,它确实是您想要实现的。

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>[
      DateTimeField(
        format: format,
        decoration: InputDecoration(
                                    border: OutlineInputBorder(),
                                    labelText: "Tanggal Lahir"),
        onShowPicker: (context, currentValue) {
          return showDatePicker(
              context: context,
              firstDate: DateTime(1900),
              initialDate: currentValue ?? DateTime.now(),
              lastDate: DateTime(2100));
        },
      ),
    ]);
  }
}