【发布时间】:2021-08-28 19:43:12
【问题描述】:
我试图显示我的 stateList (List) 并在 stateList 的内容发生更改时使用 getX 对其进行更新,但 Obx 仅适用于单个小部件?
我目前正在使用扩展运算符 (...) 来显示 stateList 中的小部件。 当我的 stateList 更改(添加、删除..)时,如何让我的 Widget 重建?
class Designer extends StatelessWidget {
final DesignerController c = Get.put(DesignerController());
@override
Widget build(BuildContext context) {
print("rebuilds");
return Scaffold(
body: ArrowContainer(
child: Container(
child: Stack(children: <Widget>[
...c.stateList,
]))),
floatingActionButton:
Row(mainAxisAlignment: MainAxisAlignment.center, children: [
FloatingActionButton(
child: Icon(Icons.add), onPressed: c.addNewState("C1")),
FloatingActionButton(
child: Icon(Icons.remove),
onPressed: () {
c.addNewState("C2");
c.stringList.add("Test");
}),
FloatingActionButton(
child: Icon(Icons.clear),
onPressed: () {
c.count.value++;
}),
]));
}
}
class DesignerController extends GetxController {
final List<Widget> stateList = <Widget>[].obs;
addNewState(String stateName) {
StateModel newState = StateModel(
key: UniqueKey(), offset: Offset(0, 0), stateName: stateName);
stateList.add(newState);
}
【问题讨论】:
标签: flutter dart flutter-getx