【发布时间】:2021-04-16 20:26:52
【问题描述】:
我正在根据 toDoId 的数量创建List of Cards。
toDoController.toDo() 就像
toDo = [q1, r4, g4, d4].obs;
而且,这是我的 ListView.builder()
Obx(() {
List _todo = toDoController.toDo();
return ListView.builder(
shrinkWrap: true,
scrollDirection: Axis.horizontal,
itemCount: _todo.length,
itemBuilder: (BuildContext context, int i) {
var _loading = true;
var _title = 'loading';
getTodoInfo() async {
_title = await toDoController
.getTodoInfo(
_todo[i]
);
_loading = false;
print(_title); // 'Clean!' <--- returns correct title
}
getTodoInfo();
return Container(
height: 150,
width: 150,
child: _loading
? Text(
_title,
)
: Text(
_title,
),
);
},
);
})
我正在尝试让每个 Container 调用 http requests 以从我的数据库中获取标题。获取标题,然后更新到下面的Text() 小部件。但是,从服务器返回值后,它不会更新。
我可以使用FutureBuilder 让他们等待获取标题的请求。我也尝试过 FutureBuilder。但是,FutureBuilder 对variable 的更改也没有反应。所以,我想在这里做到这一点。我有点明白这个问题。之后,小部件返回,它是不可更改的?有什么方法可以用 GetX 做到吗?
【问题讨论】:
标签: flutter flutter-getx