【发布时间】:2021-12-20 05:58:01
【问题描述】:
我创建下拉列表作为小部件,使用提供程序更改值但给我一个错误,小部件是这样的:
FutureBuilder(
future: ApiService().getTeachersLectures(username, token),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.hasData) {
var lectures = snapshot.data;
return Consumer<LecturesProvider>(
builder: (context, lectureProvider, child) {
return DropdownButton(
value: lectureProvider.index,
onChanged: (val) {
lectureProvider.changeIndex(val);
},
items: lectures.map<DropdownMenuItem>((e) {
return DropdownMenuItem<String>(
value: e.lecture, child: Text('${e.lecture}'));
}).toList());
});
} else {
return const Text('not ok');
}
},
)
而且提供者很简单:
class LecturesProvider with ChangeNotifier {
var index = 0;
void changeIndex(val) {
index = val;
notifyListeners();
}
}
是这个错误:
type 'List
' 不是 type'List 的子类型?'
【问题讨论】:
标签: flutter drop-down-menu provider flutter-futurebuilder