我想在 Riverpod 中使用 changenotifierProvider 创建 DropDownButton,但我的代码写得不好。请帮我。我想,我只是写了 'watch' 方法,但我不知道如何阅读它。因此,它应该显示选择的项目,并且应该使用 provider.Category 进行更新。
我的 DropDownButton 代码在这里:
Widget dropdownButton(BuildContext context,watch) {
String constantValue = "League Of Legends";
final postProvider = ChangeNotifierProvider<PostProvider>((ref) => PostProvider());
final provider = watch(postProvider);
return Consumer(
builder: (context, watch, _) {
return DropdownButton(
value: provider.postCategory ?? constantValue,
onChanged: (newValue) {
provider.postCategory = newValue;
},
items: <String>["League Of Legends", "Steam", "Csgo"]
.map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
onTap: () => value,
value: value ?? constantValue,
child: Text(value ?? constantValue),
);
}).toList());
},
);
}
这是我的 DropDownButton 图片:(当我选择列表中的任何项目时,它无法正常工作。它总是选择第一个(它选择“英雄联盟”)。