ListView (Flutter) показывает содержимое только после второго захода на страниу
Есть список категорий, когда заходишь первый раз выдает что нету элементов (lenght = 0) и естественно список пустой При заходе на тот же скрин второй раз списки показываются Я так понимаю, что мне просто необходимо обновить содержимое строителя виджета, но как мне это сделать, ломаю голову уже третий час
class _ViewCategoryState extends State<ViewCategory> {
final MainStore store;
_ViewCategoryState({this.store});
List<bool> isSelected = [true, false];
int categoryid = global.id;
@override
void initState() {
global.currentid = global.id;
widget.store.profile.getPartCats();
super.initState();
}
@override
Widget build(BuildContext context) {
print("КОЛ-ВО записей${widget.store.profile.myPartCategories.length}");
return Scaffold(
appBar: AppBar(
title:Text("Партнеры - ${global.title}"),
),
body: ListView.builder(
itemCount: widget.store.profile.myPartCategories.length,
itemBuilder: (BuildContext context,int index){
if(widget.store.profile.myPartCategories[index]['cat'] == global.id) {
return RoundedButton(
'${widget.store.profile.myPartCategories[index]['title']}',
fillColor: Color(0xFFFFFFFF),
borderColor: Color(0xFFF6F6F6),
textColor: Color(0xFF424242),
fontSize: 4.2 * SizeConfig.scale,
width: 90 * SizeConfig.scale,
action: () {
global.cattitle = '${widget.store.profile.myPartCategories[index]['title']}';
global.catid = widget.store.profile.myPartCategories[index]['id'];
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => SafeArea(
child: Scaffold(
body: ViewPartners(
store: store,
back: () => Navigator.pop(context),
close: () => Navigator.pop(context),
forward: () => Navigator.pop(context),
),
),
),
),
);
},
);
} else {
return Container();
}
},
),
);
}
}
и запрос
@action
Future<void> getPartCats() async {
var url = "/partners.getCategories.php";
await dio.post(url).then(
(Response value) async {
myPartCategories = ObservableList<ObservableMap<String, dynamic>>.of([]);
for (var item in value.data) {
myPartCategories.add(ObservableMap.of(item));
}
});
}