flutter - 提示不适用于 Flutter 中的 DropdownButtonFormField

标签 flutter drop-down-menu dart dropdown

我在 Flutter 中有一个带有 textformfield 和 dropdownbuttonformfield 的表单。运行我的应用程序时,提示对我不起作用。 提示 未显示在下拉按钮表单字段中。它显示 kkk 作为初始值,不显示 选择城市

我在这里使用 StatefulWidget。

帮我解决这个问题。 提前致谢。

class _AddTripState extends State<AddTrip> {
  var formKey = GlobalKey<FormState>();
  TextEditingController nameController = TextEditingController();  
  TextEditingController numberController = TextEditingController();
  TextEditingController datecontroller = TextEditingController();
  final format = DateFormat("yyyy-MM-dd");
  DateTime _dateTime;
  List<String> name = ['kkk', 'rrr'];
  String _dropdownvalue = 'kkk';

@override
Widget build(BuildContext context) {
  return Scaffold(
  appBar: AppBar(
    title: Text("Add Trip"),
  ),
  body: Form(
      key: formKey,
      child: ListView(
        children: <Widget>[
          Text(
            'Name',
            textAlign: TextAlign.left,
          ),
          TextFormField(
            decoration: _inputDecoration(),
            keyboardType: TextInputType.text,
            controller: nameController,
            validator: textValidator,
          ),
          Text(
            'Number',
            textAlign: TextAlign.left,
          ),
          TextFormField(
            decoration: _inputDecoration(),
            controller: numberController,
            keyboardType: TextInputType.number,
            validator: numberValidator,
          ),
          Text(
            'Date',
            textAlign: TextAlign.left,
          ),
          TextFormField(
            readOnly: true,
            controller: datecontroller,
            validator: dateValidator,
            decoration: InputDecoration(
              border: OutlineInputBorder(),
              errorBorder: OutlineInputBorder(
                  borderSide: BorderSide(color: Colors.amber)),
              errorStyle: TextStyle(color: Colors.amber),
              suffixIcon: GestureDetector(
                child: Icon(
                  Icons.date_range,
                ),
                onTap: () {
                  showDatePicker(
                          context: context,
                          initialDate: DateTime.now(),
                          firstDate: DateTime(2018),
                          lastDate: DateTime(2020))
                      .then((value) {
                    setState(() {
                      datecontroller.text =
                          DateFormat("yyyy-MM-dd").format(value);
                    });
                  });
                },
              ),
            ),
          ),
          DropdownButtonFormField<String>(
            hint: Text('Select City'),
            validator: _cityValidator,
            decoration: InputDecoration(border: OutlineInputBorder()),
            items: name.map((value) {
              return DropdownMenuItem<String>(
                  child: Text(value), value: value);
            }).toList(),
            value: _dropdownvalue,
            onChanged: (newValue) {
              setState(() {
                _dropdownvalue = newValue;
              });
            },
          ),
          RaisedButton(
            onPressed: submit,
            child: Text('Add Trip'),
          )
        ],
      )),
);
}

我哪里错了?

最佳答案

如果 value 为 null,则显示提示。

因此在您的代码中 - 将 - String _dropdownvalue = 'kkk'; 更改为 - String _dropdownvalue; only

关于flutter - 提示不适用于 Flutter 中的 DropdownButtonFormField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57430655/

相关文章:

ios - Flutter Xcode 构建失败 - 'TARGET_OS_WATCHOS' 未定义,计算结果为 0

html - 防止下拉菜单在没有 JavaScript 的情况下隐藏

javascript - 带有填充的多级下拉菜单,在进入子菜单时不会消失

image-processing - 如何在 iOS 的 flutter 中将图像流缓冲区转换为 jpeg 图像字节?

dart - 创建并写入具有 'execute' 权限的文件?

flutter - flutter 导航

flutter - 在屏幕外定位 Flutter 小部件

flutter - 使用继承的小部件传递小部件 key

wpf - 一个组合框,提供可调整大小的文件名完成列表和带有历史记录的下拉列表

dart - Flutter - 关闭小部件时 BLoC 流实例会导致内存泄漏吗?