【发布时间】:2021-08-28 14:32:47
【问题描述】:
我有一个 Provider 类“Provider_Controller”,当我使用该类中的所有方法时,它与 notifyListeners 一起正常工作, 但是当我在“Provider_Controller”中放入“Provider_Chat”类时,当“Provider_Chat”中的数据被更新时,notifyListeners not working proper event,
我正在使用提供程序:^5.0.0
class Provider_Controller with ChangeNotifier {
Provider_Chat _provider_chat = new Provider_Chat();
Provider_Chat get provider_chat => _provider_chat;
set provider_chat(Provider_Chat pc) {
try {
_provider_chat = pc;
notifyListeners();
} catch (err) {
print(err);
}
}
Model_User _user;
Model_User get user => _user;
set user(Model_User user) {
_user = user;
notifyListeners();
}
List<Model_User_Chat_Contact> _list_user_chat;
List<Model_User_Chat_Contact> get list_user_chat => _list_user_chat;
set list_user_chat(List<Model_User_Chat_Contact> new_list) {
_list_user_chat = new_list;
notifyListeners();
}
}
class Provider_Chat {
TextEditingController _textEditingController_message =
TextEditingController();
TextEditingController get textEditingController_message =>
_textEditingController_message;
set textEditingController_message(TextEditingController input) {
_textEditingController_message = input;
}
List<Model_Chat> _list_chat;
List<Model_Chat> get list_chat => _list_chat;
set list_chat(List<Model_Chat> new_list) {
try {
_list_chat = new_list;
} catch (err) {
print(err);
}
}
}
例如:
Provider_Controller pc = Provider.of<Provider_Controller>(context);
“Provider_Controller”中的访问方法仍然有效。
pc.user = new_user(); // notifyListeners working fine
但是当..访问
pc.provider_chat.list_chat = new_list(); // the data still changed, but notifyListeners not working
【问题讨论】:
标签: flutter dart provider flutter-provider state-management