初级Flutter爱好者在这里,只是学习了widget系统。
想要使用开箱即用的小部件来实现自动完成文本字段(不能使用插件)
DropdownButtonFormField非常适合我的用例,但是当我尝试使用它时,编译器会为我提供“找不到方法”错误。
Compiler message:
lib/expanding_text.dart:100:11: Error: Method not found: 'DropdownButtonFormField'.
DropdownButtonFormField(),
^^^^^^^^^^^^^^^^^^^^^^^
lib/expanding_text.dart:100:11: Error: The method 'DropdownButtonFormField' isn't defined for the class '#lib1::_TripItemState'.
Try correcting the name to the name of an existing method, or defining a method named 'DropdownButtonFormField'.
DropdownButtonFormField(),
这是我的代码(相关部分)
import 'package:flutter/material.dart';
...
@override
Widget build(BuildContext context) {
return Column(
children: <Widget>[
DropdownButtonFormField<String>(
items: [DropdownMenuItem<String>(child:Text("test"))],
),
查看文档,似乎无需附加配置即可将其自由添加到小部件树中。但是很明显,由于错误,我在这里丢失了一些东西。
因此,要对发生的事情进行故障排除,是否DropdownButtonFormField仍在 Material 库中?
我还有什么想念的吗?
最佳答案
该小部件确实存在于flutter/materials.dart
中。DropdownButtonFormField
要求在其构造函数中定义items
属性。您需要像这样使用它:
import 'package:flutter/material.dart';
...
@override
Widget build(BuildContext context) {
return Column(children: <Widget>[
DropdownButtonFormField(
items: <DropdownMenuItem>[
// Put widgets in the drop down menu here
],
)
]);
}