如何解决显示空 Flutter Provider 的列表
我在调用 HTTP 请求后将一个对象添加到列表中,我的问题是当我在插入新列表项后打印列表时,它向我显示了对象但是当我尝试通过提供程序显示空列表。
类-
import 'package:flutter/foundation.dart';
import 'package:http/http.dart' as http;
import 'dart:convert' as json;
enum LoginType { ME,YOU,WE }
class PlayerPrebsData {
final String id;
final int points;
final String cookie;
final Map data;
final LoginType loginType;
PlayerPrebsData({
required this.id,required this.points,required this.cookie,required this.data,required this.loginType,});
}
class CookieLogin extends ChangeNotifier {
List<PlayerPrebsData> _items = [];
List<PlayerPrebsData> get items {
return [..._items];
}
Future<void> login(String cookie,LoginType loginType,[String data = ""]) async {
final url = Uri.parse("https://xxxxx.com/xxxxxx/v2/login.php");
final response = await http.post(url,body: {
'cookie': cookie,'loginType': loginType.toString(),});
final body = json.jsonDecode(response.body);
_items.add(
PlayerPrebsData(
id: body['data']['id'],points: body['data']['credit'],cookie: cookie,data: body['data'],loginType: loginType,),);
notifyListeners();
}
}
我是从一个无状态的类调用它
Widget build(BuildContext context) {
final provider = Provider.of<CookieLogin>(context).items;
//////// Scafford then my floating button
floatingActionButton: FloatingActionButton(
onPressed: () {
print(provider.length);
},child: const Icon(Icons.navigation),backgroundColor: Colors.green,));
当我点击按钮时,长度为 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。