【发布时间】:2021-12-01 02:18:34
【问题描述】:
我想刷新我的文本“ganzerchat”,但它不适用于我的操作方式
那是我尝试使用 setstate 的聊天类(StatefulWidget),但每次都没有发生任何事情。
我从 main.dart 打开了聊天
列出 chatverlauf = [];
Future getDataFromYourApi() async {
List<String> tmp = [];
final response = await http.get(Uri.parse(url));
final extractedData = json.decode(response.body) as Map<String, dynamic>;
chatverlauf.clear();
ganzerChat = "";
extractedData.forEach((id, data) {
tmp.add(data["name"] + ": " + data["text"]);
//print(data["name"] + ": " + data["text"]);
});
return tmp;
}
Future<void> loadChat() async{
chatverlauf = await getDataFromYourApi();
setState(() {
ganzerChat = chatverlauf.join("\n");
print(ganzerChat);
});
}
return Scaffold(
appBar: AppBar(
title: Text("Chat"),
),
body: Container(
alignment: Alignment.center,
child:
Column(mainAxisAlignment: MainAxisAlignment.end, children: <Widget>[
Container(
margin: EdgeInsets.only(right: 20, bottom: 50),
alignment: Alignment.centerRight,
child: Text(
ganzerChat,
textAlign: TextAlign.right,
)),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Container(
width: 300,
color: Colors.grey,
child: TextField(controller: eingabecontroller)),
ElevatedButton(
child: Text("Senden"),
onPressed:()async{
await loadChat();
},
),
],
),
]),
),
);
}
也许这里的任何人都有同样的问题,可以帮助我
【问题讨论】:
-
请不要张贴代码/错误截图meta.stackoverflow.com/questions/303812/…
-
您需要直接在 StackOverflow 上分享您的代码。不是它的屏幕截图。
-
怎么可以直接分享?
-
只需将您的代码复制粘贴到您的问题中即可。并且不要将答案写成评论。
-
调用
getDataFromYourApi()时数据加载了吗?
标签: json flutter dart refresh setstate