#flutter #dart #asynchronous #constructor #dropdownbutton
Вопрос:
Привет, у меня возникла проблема, из-за которой я не могу сохранить состояние кнопки раскрывающегося списка (текст, отображаемый в самой кнопке раскрывающегося списка, который является выбранным мной значением). Я использую getX для навигации по штатам.
Из-за того, как был структурирован мой код, когда я перемещаюсь с одного экрана на второй и хочу вернуться назад, я использую Get.to(First()
вместо Get.back()
этого .
Вот моя логика:
- Я сохраню значение, выбранное пользователем из раскрывающейся кнопки, в SharedPreferences. Это значение также будет немедленно показано пользователю на самой кнопке из-за характера кнопки.
- Когда пользователь удалится (например, он сейчас находится на втором экране) и снова зайдет на первый экран, я загружу выбранное значение из SharedPreferences и создам элемент раскрывающейся кнопки таким образом, чтобы это значение отображалось вверху.
Проблема, с которой я сталкиваюсь: извлечение данных из SharedPreferences является асинхронным, поэтому я не знаю, как снова создать первый экран, пока я жду, когда данные будут извлечены из SharedPreferences. Кто-нибудь может мне помочь? Спасибо!
Ответ №1:
Используйте GetStorage() вместо общего предпочтения . Нет проблем с асинхронностью
dependencies:
get_storage: ^2.0.3
use GetStorage through an instance or use directly GetStorage().read('key')
final box = GetStorage();
To write information you must use write :
box.write('quote', 'GetX is the best');
To read values you use read:
print(box.read('quote'));
// out: GetX is the best
Комментарии:
1. Это сработало, спасибо!
2. пожалуйста, поднимите голос. добро пожаловать!