使用 Provider 更新 DropdownButton

DropdownButton updating with Provider

当我选择下面列表中的项目时,它不会改变。如果我单击其他,则什么也不会发生。 我如何更改 firestore 和 UI 的这个值? 我知道,我需要更新 value: constantValue, 这段代码,但我如何通过提供者做到这一点?

这里,按钮:

Widget dropdownButton(BuildContext context) {
String constantValue = "League Of Legends";
return DropdownButton(
    value: constantValue,
    onChanged: (newValue) {
      context.read<PostProvider>().postCategory = newValue;
    },
    items: <String>["League Of Legends", "Steam", "Csgo"]
        .map<DropdownMenuItem<String>>((String value) {
      return DropdownMenuItem<String>(
        value: value,
        child: Text(value),
      );
    }).toList());

}

还有供应商:

     String _postCategory;

     String get postCategory => _postCategory;

  set postCategory(String value) {
    _postCategory = value;
    notifyListeners();
  }

您需要在代码路径中包含用于编写 FireBase 的内容。提供者不会神奇地为你做那件事。但是,您 可以 让各种提供程序或小部件在该 notify_listeners() 调用中唤醒。